常见C/C++ XML解析器

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

常见C/C++ XML解析器有tinyxml、XERCES、squashxml、xmlite、pugxml、libxml等等,这些解析器有些是支持多语言的,有些只是单纯C/C++的。如果你是第一次接触到XML解析,那么关于XML解析器的选择问题的确令人头疼,我们先看一下这些解析器有哪些特点。

一、Xerces XML解析器

官方网址:http://xerces.apache.org/xerces-c/

Xerces前身是IBM的XML4C,XML4C也是一种功能强大的XML解析器,之后交给Apache基金会管理,遂改名为Xerces,Xerces-C++让你的程序提供读写XML数据更加容易,提供的共享库通过DOM、SAX、SAX2 API等方式对XML文档进行解析、生成、操作和验证。

Xerces-C++忠实于XML 1.0建议和相关标准。

Xerces-C++解析器高性能、模块化并且可扩展。相关开发资料也比较完善。

除了C++版本,Xerces同时还提供Xerces Java,Xerces Perl等版本。

二、TinyXML解析器

官方网址:http://www.grinninglizard.com/tinyxml/

TinyXML相比Xerces要功能简单些,正如其名Tiny,使用方法也比较简单,TinyXML也是一个开源的解析XML解析库,用于C++,支持Windows和Linux。TinyXML通过DOM模型遍历和分析XML。官方文档:

http://www.grinninglizard.com/tinyxmldocs/index.html

三、squashXML解析器

官方地址:http://ostatic.com/squashxml

这个解析器在国内似乎少人使用,这个解析器也有些历史了。squashXML基于DOM Level2,也是一个XML轻量级的解析器。天缘之所以把这个写上是天缘比较看重这个解析器的目录划分及使用说明,易懂而且易上手。

四、XMLBooster解析器

官方网址:http://www.xmlbooster.com/

XMLBooster开发关注点比较有特色,更加关注解析性能,声称:“Application integration of XML data cannot get any simpler or any faster: instead of dealing with sophisticated api (such as DOM or SAX), use a convenient data structure, generated to suit your specific purpose, in the language of your choice. ”。

针对特殊需求使用更加方便的数据结构以提高性能。

五、LibXML解析器

官方地址:http://xmlsoft.org/

LibXML本来是为Gnome项目开发(C开发),之后被广泛使用,功能非常强大,几乎适合于常见的所有操作系统下编译和开发使用。libxml++(地址:http://libxmlplusplus.sourceforge.net/)是对libxml XML解析器的C++封装版本。此外还有各种语言封装包,参加官方链接。

补充:

除了上述XML解析库外,还有一些XML解析器(参考:http://www.garshol.priv.no/xmltools/platform/cpp.html),比如Berkely DBXML(BDB)等,有兴趣的读者可自行Google搜索。

尽管XML解析器有很多种,而且功能差异很大,甚至是支持跨平台、多语言,但是对于你的应用而言,尽量选择一种相对熟悉、功能够用的即可,没必要去追求庞杂的解析器,我们只需关注:功能够用、相对稳定、适合扩展这三个功能即可。一旦有问题,修正和扩展都要更为容易。

 

几个C/C++XML解析库(包括纯C的读查找XML文件的库,都是开源的) 先介绍一个实用的:Mini-XML 2.6  详细说明:minixml2.6最新的版本。 嵌入式xml 解析、查找、生成、遍历 功能,全部实现是标准c,移植很容易。 最新的2.6,修改了很多bug。 这个压缩包,里下载完了,直接就可以在liunx下编译安装。 如果是在windows下的话,只需要根据readme.txt的提示,修改一个小地方,就可以运行。非常方便。-minixml2.5 th 阅读详情

相关推荐

c/c++ XML tinyXML rapidXML slimXML LibXML XMLBooster squashXML

TinyXmlxml http://blog.csdn.net/fireway2009/article/details/7322144   linux c xml http://blog.csdn.net/zhang_heaven/article/details/7370931 rapidxml,一个快速的xml库,比tinyXML ,slimXML还快

wch.hit的专栏 3244

C++开源库,欢迎补充。

转载自:http://blog.csdn.net/kobejayandy/article/details/8681741 C++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成 Web应 用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料

每一次对问题的深究,总会收获新的知识和体会 2972

SlimXml的读和

xml的笔记

willis 412

C++开源库

C++在“商业应用”方面,曾经是天下第一的开发语言,但这一桂冠已经被java抢走多年。因为当今商业应用程序类型,已经从桌面应用迅速转移成Web应用。当Java横行天下之后,MS又突然发力,搞出C#语言,有大片的曾经的C++程序员,以为C++要就此沉沦,未料,这三年来,C++的生命力突然被严重地增强了。主力原因就是开源的软件、基础软件(比如并发原生支持,比如Android必定要推出原生的SDK)、各

timewh的专栏 2591

常见C/C++ XML解析器比较

转自:http://www.metsky.com/archives/578.html 常见C/C++ XML解析器有tinyxml、XERCES、squashxmlxmlite、pugxml、libxml等等,这些解析器有些是支持多语言的,有些只是单纯C/C++的。如果你是第一次接触到XML解析,那么关于XML解析器的选择问题的确令人头疼,我们先看一下这些解析器有哪些特点。 一、Xerces...

weixin_30809333的博客 531
上一篇: setTimer和Killtimer定时器的应用
下一篇: 获得用户SID
ding7230
博客等级 码龄16年 4粉丝 7原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值