单个文件非验证xml解析器/阅读器

时间:2010-12-16 00:34:35

标签: c++ c xml

我正在寻找C或C ++中一个简单的非验证XML解析器。

几年前我发现一个只是单个文件解决方案,但我找不到 它了。

我正在寻找一些非常小巧轻便的链接和建议链接 非常适合嵌入式平台。

5 个答案:

答案 0 :(得分:2)

Expat

您可以使用或不使用验证,也可以使用"流媒体模式"。它非常轻巧。

答案 1 :(得分:1)

pugixml这样的东西呢?从他们的网站......

  

pugixml是一种轻量级的C ++ XML   处理库。它的特点是:

     
      
  • 具有丰富遍历/修改功能的类似DOM的界面
  •   
  • 构建DOM的极其快速的非验证XML解析器   来自XML文件/缓冲区的树
  •   
  • 复杂数据驱动树查询的XPath 1.0实现
  •   
  • Unicode接口变体的完全Unicode支持   自动编码转换
  •   
     

图书馆非常便携   易于集成和使用。

     开发并维护了pugixml   自2006年以来,拥有众多用户。所有   代码在麻省理工学院下发布   许可证,完全免费   用于开源和   专有应用程序。

此外,此answer还有更多信息。

还有tinyxmlRapidXml

答案 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>