在不使用 DOM 的情况下可移植地生成 XML 文档
Posted
技术标签:
【中文标题】在不使用 DOM 的情况下可移植地生成 XML 文档【英文标题】:Portably generate XML document without using a DOM 【发布时间】:2011-03-10 16:10:09 【问题描述】:我需要从 C++ 生成 XML 文档。出于性能原因,我不想使用 Xerces 或 TinyXML 等 XML 解析器并生成一个 DOM,然后我将其序列化,理想情况下我想要一种“反向 SAX”接口。我还需要代码真正可移植,跨 Windows、UNIX、MacOSX 等。
到目前为止我发现的唯一参考是genx。有人有其他建议吗?
编辑: 这个问题what's the easiest way to generate xml in c++? 实际上似乎回答了我的问题,或者至少提供了一些指向其他 XML 生成库的链接。
【问题讨论】:
【参考方案1】:Rapidxml 非常快速且非常轻量级。
【讨论】:
我会看看那个,因为它确实声称是轻量级的,所以也许构造 DOM 然后序列化它可能不会有太多的内存开销,但理想情况下我想要一个流界面。 我确实明确说过“不使用 DOM”。【参考方案2】:看起来 libxml2 有一个流式 API。请参阅问题create and stream large XML document in C++的答案
【讨论】:
以上是关于在不使用 DOM 的情况下可移植地生成 XML 文档的主要内容,如果未能解决你的问题,请参考以下文章