我正在寻找C或C ++中一个简单的非验证XML解析器。
几年前我发现一个只是单个文件解决方案,但我找不到 它了。
我正在寻找一些非常小巧轻便的链接和建议链接 非常适合嵌入式平台。
答案 0 :(得分:2)
您可以使用或不使用验证,也可以使用"流媒体模式"。它非常轻巧。
答案 1 :(得分:1)
像pugixml这样的东西呢?从他们的网站......
pugixml是一种轻量级的C ++ XML 处理库。它的特点是:
- 具有丰富遍历/修改功能的类似DOM的界面
- 构建DOM的极其快速的非验证XML解析器 来自XML文件/缓冲区的树
- 复杂数据驱动树查询的XPath 1.0实现
- Unicode接口变体的完全Unicode支持 自动编码转换
图书馆非常便携 易于集成和使用。
开发并维护了pugixml 自2006年以来,拥有众多用户。所有 代码在麻省理工学院下发布 许可证,完全免费 用于开源和 专有应用程序。
此外,此answer还有更多信息。
答案 2 :(得分:1)
肯定有一个纯C,微小的xml解析器可用。在之前的回答中引用了SO,但我现在找不到它。如果我没记错的话,那只是几百行代码。
更新:以下是引用它的问题/答案:
Is there a good tiny XML parser for an embedded C project?
实际代码:
http://mercurial.intuxication.org/hg/cstuff/file/tip/tinyxml
答案 3 :(得分:0)
RapidXML是一个单头(如果你想要额外的功能,多个头文件)超轻量级,超快速实现。它可以在“破坏性”模式下运行,这意味着通过将指针设置到XML中并可能覆盖一些,避免所有额外的内存分配和数据副本。
tinyxml不是精确的单头,但与其他解析器相比,它仍然相当轻量级。我已经使用它五年没有遇到过问题。作者最近开始使用“tinyxml-2”,据说它更好,更轻巧,但我还没有机会真正尝试过那个。
答案 4 :(得分:-2)
http://mercurial.intuxication.org/hg/cstuff/file/tip/tinyxml
这个解析器可以使用嵌套XML,如
<CServiceType>
<serno>61</serno>
<caption1 />
<caption2>Satelite</caption2>
<caption3 />
</CServiceType>