常见C/C++ XML解析器比较
来源:互联网 发布:win10卡顿优化 编辑:程序博客网 时间:2024/05/14 15:52
常见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解析器有很多种,而且功能差异很大,甚至是支持跨平台、多语言,但是对于你的应用而言,尽量选择一种相对熟悉、功能够用的即可,没必要去追求庞杂的解析器,我们只需关注:功能够用、相对稳定、适合扩展这三个功能即可。一旦有问题,修正和扩展都要更为容易。
原文地址:http://www.metsky.com/archives/578.html
上一篇:Detours vs. Mhook
下一篇:Windows开机登录认证与Gina DLL
- ZeroMQ研究与应用分析
- RabbitMQ源码解析前奏--集群...
- Justin Bieber chante put l'e...
- ZeroMQ研究与应用分析
- CUDA编程指南阅读笔记
- linux dhcp peizhi roc
- 关于Unix文件的软链接
- 求教这个命令什么意思,我是新...
- sed -e "/grep/d" 是什么意思...
- 谁能够帮我解决LINUX 2.6 10...
- 常见C/C++ XML解析器比较
- 常见C/C++ XML解析器比较
- 常见C/C++ XML解析器比较
- 常见C/C++ XML解析器比较
- 常见C/C++ XML解析器比较
- 常见C/C++ XML解析器比较
- 常见C/C++ XML解析器比较
- 常见C/C++ XML解析器比较
- 常见C/C++ XML解析器比较
- 常见C/C++ XML解析器
- C/C++ XML解析器比较
- c/c++ xml解析器
- c/c++ xml解析器
- TinyXML c++XML解析器
- objective-c xml解析
- c语言解析xml
- Linux C解析xml
- Objectvie-C XML解析
- 聊聊JVM的年轻代
- N年了,看到了一旧文章
- Detours vs. Mhook
- Android M 启动源码分析笔记之 - Zygote 孵化
- linux 安装ffpmeg
- 常见C/C++ XML解析器比较
- 通过触发事件获取信息
- Android的UI美化
- Windows开机登录认证与Gina DLL
- python自动化之路-day1.1
- Ajax发送请求等待时弹出模态框等待提示
- poj 3641 Pseudoprime numbers 快速幂算法
- windows 登录模块GINA开发参考
- #pragma once