站内搜索:     
站点首页破釜学院编程开发XML/WML → 关于XML Parser的资料综述(三,SAX)
正在加载相关信息.....
Web 站内搜索
关于XML Parser的资料综述(三,SAX)
】【打印】【加入收藏】【关闭收藏到新浪ViVi】【收藏到365KEY】 浏览字号:
日期:2004-08-02 人气: 出处:饮水思源站
3.SAX
    SAX,全称Simple API for XML,即是指一种接口,也是指一
个软件包。
    作为接口,SAX是事件驱动型XML解析的一个标准接口(
standard interface),已被OASIS( Organization for the
Advancement of Structured Information Standards)所采纳。
    作为软件包,SAX最早的开发始于1997年12月,由一些互联网
分散的程序员合作进行。后来,参与开发的程序员越来越多,组成
了互联网上的XML-DEV社区。五个月以后,1998年5月,SAX 1.0版
由XML-DEV正式发布。今年5月,XML-DEV社区又发布了最新的SAX
2.0。2.0版本在多处与1.0版本不兼容,包括一些类和方法的名字。

3.1 SAX的原理与使用
    SAX的工作原理是:Parser顺序扫描文档,扫描到文档(document)
开始与结束、元素(element)开始与结束等地方时通知事
件处理函数(handler),由事件处理函数做相应动作,然后继续
同样的扫描,直至文档结束。例如,对于如下文档:
        <?xml version="1.0">
        <doc>
        <para>Hello, world!</para>
        </doc>
    在解析的过程中会产生如下一系列事件:
        start document
        start element: doc
        start element: para
        characters: Hello, world!
        end element: para
        end element: doc
        end document
    很明显,这种思路和DOM截然不同。
    使用SAX时,只需将精力集中在事件处理函数的编写上即可。
如果使用的是非面向对象语言,如C,则需要将程序员自行开发的
事件处理函数作为参数传递给SAX Parser。如果使用的是面向的语
言,则需要重载SAX包中原有的事件响应函数。

3.2 SAX的缺点
    由于SAX在原理以及提供的接口等方面均比DOM简单,同时SAX
的概念不是OO的,所以,虽然SAX在速度、对资源的要求等方面性
能比DOM好,但SAX比DOM难用、难懂(相当难懂!需要看sample才
能大概理解如何使用,其使用方法没有DOM那么直接。作为一种面
向对象的接口,DOM的确非常容易理解和使用)。当使用SAX的XML
Parser的程序规模增大时,程序的可读性和可维护性迅速变坏。
另一方面,使用SAX,二次开发的程序员需要自行建立中间对象用
于存储文档的信息--这项工作在DOM里是由Parser程序完成的。

>>>> 进入论坛交流 <<<<