博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
XML解析器(转)
阅读量:5751 次
发布时间:2019-06-18

本文共 1351 字,大约阅读时间需要 4 分钟。

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

一、Xerces XML解析器

官方网址:

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解析器

官方网址:

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

三、squashXML解析器

官方地址:

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

四、XMLBooster解析器

官方网址:

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解析器

官方地址:

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

补充:

除了上述XML解析库外,还有一些XML解析器(参考:),比如Berkely DBXML(BDB)等,有兴趣的读者可自行Google搜索。

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

转载地址:http://ogzkx.baihongyu.com/

你可能感兴趣的文章
PHP安装环境,服务器不支持curl_exec的解决办法
查看>>
jQuery|元素遍历
查看>>
用 ThreadLocal 管理用户session
查看>>
setprecision后是要四舍五入吗?
查看>>
上云就是这么简单——阿里云10分钟快速入门
查看>>
MFC多线程的创建,包括工作线程和用户界面线程
查看>>
我的友情链接
查看>>
FreeNAS8 ISCSI target & initiator for linux/windows
查看>>
PostgreSQL数据库集群初始化
查看>>
++重载
查看>>
Rainbond 5.0.4版本发布-做最好用的云应用操作系统
查看>>
nodejs 完成mqtt服务端
查看>>
sql server 触发器
查看>>
[工具]前端自动化工具grunt+bower+yoman
查看>>
关于完成生鲜电商项目后的一点总结
查看>>
noip2012 普及组
查看>>
第二阶段 铁大Facebook——十天冲刺(10)
查看>>
Java判断是否为垃圾_Java GC如何判断对象是否为垃圾
查看>>
多项式前k项和java_多项式朴素贝叶斯softmax改变
查看>>
java数组只能交换0下标和n_编程练习-只用0交换排序数组
查看>>