c - 如何在 C 中创建和管理大型 XML 文件

标签 c libxml2

创建大型 XML 文件的最佳 C 库是什么?我必须通过从 sqlite3 数据库中读取值来创建一个包含 7000 多个节点的 XML 文件。我知道 libxml2 并且也使用过它,但是由于它是一个基于内存的 XML 解析器,所以我不确定它能在多大程度上管理如此庞大的 XML 节点。是否有任何替代方法或任何其他方法来使用 libxml2 来管理巨大的 XML 文件?

最佳答案

使用 libxml 的 xmlWriter流式 API 以最大限度地减少内存使用。您不是在内存中构建节点树,而是调用类似 xmlTextWriterStartElement 的函数。 , xmlTextWriterWriteAttribute等,将您的 XML 直接写入文件或其他输出。

它的用法与“只使用 printf”式的解决方案类似,主要优点是仍然使用实际的 XML 库,因此它会为您解决所有麻烦。

你可以找到一个 example usagelibxml2 examples 的页面上.

关于c - 如何在 C 中创建和管理大型 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9150255/

相关文章:

c - 根据结构成员对指向结构的指针数组进行排序 - 最佳选择?

python - 用C程序获取Python脚本的执行时间

android - 使用动态库交叉编译 C 代码时出错

perl - 如何从 Perl 中的 XML::LibXML 访问属性和元素?

perl - 如何在 Ubuntu 上安装 XML::LibXML

c++ - header 正确,但找不到标识符

c - 非套接字上的套接字操作 : error while setting socket options and binding socket

C 程序使用 XSLT 从字符串 XML 中过滤类型为 anyURI 的元素

homebrew - 警告 : libxml2 is a keg-only and another version is linked to opt

缩进