MS的MSXML当然也是一个不错的选择。不过我喜欢开源……
三种最流行的开放源码 XML 库是 expat、libxml 和 Xerces。这三者都是跨平台的,每一种都充当 XSLT 库实现的基础,一旦满足了基本 XML 需要之后,它就会给您一条成长途径。
附:C/C++ 开发人员的解析器
三种最流行的开放源码 XML 库是 expat、libxml 和 Xerces。这三者都是跨平台的,每一种都充当 XSLT 库实现的基础,一旦满足了基本 XML 需要之后,它就会给您一条成长途径。
- expat 是 James Clark 创始的开放源码面向事件的 XML 解析库。他已经将该项目转让给了 SourceForge 中的一个小组。有一个 SAX 封装器可供使用。在许多项目中都可以找到 expat 解析器,如开放源码浏览器 Mozilla、XSLT 处理器 Transformiix 和 RDF 工具 repat。
- libxml 为类似于 SAX 和 DOM 的操作提供了双重方式 API。它支持对 DTD 的验证,并且在 Gnome 的 XSLT 处理器 libxslt 中使用。libxml 经过重写,已作为 libxml(2) 发布,也许还称为 libxml2。这个库的用户应该确保他们拥有了当前版本。
- Xerces 是非常坚固的、拥有大量文档的库,它充当 IBM alphaWorks XML4C 库的基础。Xerces 还用于 Apache XSLT 处理器 Xalan 中。Xerces 支持 DOM、SAX,以及对 DTD 的验证。最新版本读取并解释了部分“W3C XML 模式推荐”(打算到 2001 年底实现完整的 XML 模式支持)。
附:C/C++ 开发人员的解析器
库 | 供应商 | 事件 | 文档 | 特点 | 许可证 |
expat | James Clark/expat 小组 | 本机与 SAX | - | 带有本机 API 和 SAX 封装器的、非常快速的推模型解析器。 | LGPL(免费) |
libxml | Gnome | SAX | DOM | 非常强壮;SAX 与 DOM 封装器;执行 DTD 验证 | LGPL(免费) |
MSXML | Microsoft | SAX | DOM | Win32 的 Microsoft XML 库 | EULA(免费) |
Xerces | Apache Software Foundation | SAX | DOM | 执行 SAX 及 DOM 级别 1 和 2;DTD 验证;增加的 XML 模式 | Apache(免费) |
XTL | Vivid Creations | SAX | DOM | 带 SAX 和 DOM 的基于 STL 的 XML 工具箱 | 商业 |
RXP | 爱丁堡大学 | - | 本机 | 验证以 C 编写的了解名称空间的 XML 解析器 | GPL(免费) |
XML4C | IBM alphaWorks | SAX | DOM | IBM 发起的 Xerces 的变体 | Apache(免费) |
Oracle XDK 8i | Oracle | SAX | DOM | Oracle 主办的用于 C++ 的 XML 工具箱 | 非商业 |
Pull Parser | Extreme! Lab | - | 本机 | 印地安那大学发起的用于 C++ 的轻量型 XML 工具箱 | 非商业 |
XML Booster | PhiDaNi Software | - | 本机 | 解析器发生器,生成 C 源码解析器 | 商业 |