peakzhang 发表于 2007-12-11 22:27:21

关于 ACE XML Parser 的学习

近期项目中要用到ACE XML Parser。四处找了下没有这方面的资料,只好自己好好学习了。本着我为人人,人人为我的原则,把学习过程贴出来。

      在IBM developwork 中国,找到关于XML的入门教程。当然,中间还看了别的一些书,最后觉得在项目中暂时用不到那么多复杂的东西,所以其实看看入门教程够了。

对于自己的项目而言,我觉得在使用XML 中,需要注意以下几点:

1)什么是规范的XML文档。这一点在前面文中提到的入门教程中讲的比较深入浅出。我觉得首先我们在程序之间传送的必须是规范的XML 文档。

2)XML是区分大小写的。标记<DOCUMENT>和<document>是不同的,所以,我们的在构建并在网络上传输XML文档,使用相关的XML 解析器解析或处理XML 文档时,一定要注意这一点。

3)如没有指定encoding(<?xml version="1.0" encoding="ISO-8859-1" standalone="no"?>),XML 解析器会假定字符在 UTF-8 字符集中,这是一个几乎支持世界上所有语言的字符和象形文字的 Unicode 标准。

关于XML解析库对编码的支持还需要去了解,网上说有些对中英文混合内容的支持不太好,这一块还不是很明白。


所有 XML 处理都从解析开始。读入 XML 文件,解码结构和检索信息等等。多数解析器提供了至少两种 API,通常是一个对象模型 API 和一个事件 API(也称为流 API)。具体优缺点可以去看了解解析 XML 的各种方法。

要学习使用 ACE XML Parser,先要搞懂基于事件API或者说流API的SAX 2.0的原理,如何具体使用来满足我们的开发需求。

1)在IBM developwork 中国,有关于SAX的教程:

1)SAX,功能强大的 API

2)理解 SAX(需要注册一个账号)

2) libxml++的开发库可以从网上下载,其中有一些SAX的例子;

3) 在下载的ACE包解压缩目录ACE_wrappers\ACEXML\examples下也有例子。


下一步打算根据一个具体的需求,比如具体在我们的项目中需要如何利用Xml。依照这个需求来编写例子,进行学习。

      下面是在学习中的遇到的一些问题,可能随着学习的深入,慢慢就理解了,不过如果有谁知道,还望指点一下。

       1)在ACE-5.5\ACE_wrappers\ACEXML\docs\readme.txt 中有句话:“A simple non-conformant XML parser is also included in the framework.” 这里的“non-conformant XML parser”是什么意思呢?
页: [1]
查看完整版本: 关于 ACE XML Parser 的学习