XML解析库比较

xml4c         ------http://www.alphaworks.ibm.com/tech/xml4c
  IBM的XML   Parser,用c++语言写就,功能超级强大。号称支持多达100种字符编码,能够支持中文,
适合于大规模的xml应用。若只是很小范围的应用,则非最佳选择,毕竟,你需要“背负”约12M左右的
dll的沉重负担

Xerces c++    -------http://xml.apache.org/xerces-c
  Apache的XML项目,同样是c++   实现,来源于IBM的xml4c,因此编程接口也是和xml4c一致的。但是
目前只支持少数的字符编码,如ASCII,UTF-8,UTF-16等,不能处理包含中文字符的XML文档。
    Xerces-C++   是一个非常健壮的XML解析器,它提供了验证,以及SAX和DOM   API。XML验证在文档类型定
义(Document   Type   Definition,DTD)方面有很好的支持,并且在2001年12月增加了支持W3C   XML   Schema 
的基本完整的开放标准。
  
XMLBooster    -------http://www.xmlbooster.com/
        这个库通过产生特制的parser的办法极大的提高了XML解析的速度,并且能够产生相应的GUI程序
来修改这个parser。在DOM和SAX两大主流XML解析办法之外提供了另外一个可行的解决方案。

libxml++      ----------- http://libxmlplusplus.sourceforge.net/     
  libxml++是对著名的libxml   XML解析器的C++封装版本

 

TinyXML      -----http://sourceforge.net/

inyXML是一个开源的解析XML的解析库,能够用于C++,能够在WindowsLinux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。

可能因为微软、IBM这样的商业公式和开源社区在数据表达方面的不谋而合,以及再加上W3C推波助澜XML的相关技术总是和应用结合得非常紧密。XML从产生就不乏优秀的工具。在最近一个项目中,我们就使用了原生的XML存储数据库Berkely DBXML(BDB)。
其实,DBXML使用了大量优秀的开源工具来实现,其中数据存储使用Berkely DB,XML解析使用XercesC,XPath的实现使用Pathan(2.3以前),XQilla(2.3以后)。关于这几个库,我将官方网站的介绍摘录如下:

  1. Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents.
  2. Pathan is a open source library which allows developers using Xerces-C to parse and evaluate XPath expressions for XML node selection.
  3. XQilla is an XQuery and XPath 2 library and command line utility written in C++ , implemented on top of the Xerces-C. XQilla is originally based on an open source project called Pathan, that was hosted by Decisionsoft and implemented XPath 2. However, XQilla has been developed and improved considerably from the Pathan code base.
  4. Xalan is an XSLT processor for transforming XML documents into HTML, text, or other XML document types

    在接下来的工作中,我们希望把存储的XML表达出来。我们通过XSL来实现XML的表达,有趣的是XSL
本身也是XML,又是一个有趣的递归。
把DBXML与XSL联系起来。我们找到了一个DBXML API中函数,他可以将XML Node 以Xerces DOMDocument 方式返回:

你可能感兴趣的:(XML解析库比较)