创建大型 XML 文件的最佳 C 库是什么?我必须通过从 sqlite3 数据库中读取值来创建一个包含 7000 多个节点的 XML 文件。我知道 libxml2 并且也使用过它,但是由于它是一个基于内存的 XML 解析器,所以我不确定它能在多大程度上管理如此庞大的 XML 节点。是否有任何替代方法或任何其他方法来使用 libxml2 来管理巨大的 XML 文件?
最佳答案
使用 libxml 的 xmlWriter流式 API 以最大限度地减少内存使用。您不是在内存中构建节点树,而是调用类似 xmlTextWriterStartElement 的函数。 , xmlTextWriterWriteAttribute等,将您的 XML 直接写入文件或其他输出。
它的用法与“只使用 printf”式的解决方案类似,主要优点是仍然使用实际的 XML 库,因此它会为您解决所有麻烦。
你可以找到一个 example usage在 libxml2 examples 的页面上.
关于c - 如何在 C 中创建和管理大型 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9150255/