1.XML Parser的概述
XML Parser是一个软件包,提供给程序员二次开发的软件包。
程序员在使用XML Parser时,调用其包中提供的接口(如函数接口
等),从而得到解析的结果。功能比较完善的XML Parser在解析
XML文档的同时还能完成有效性检验等相关任务。使用已有的XML
Parser,能使程序员在处理与XML的解析相关的事务时节省大量的精
力,因而是一种符合软件工程中代码重用思想的软件包。
XML Parser遵循一定的标准,以XML Parser如何回应(feedback)
调用者的方式来分,可以分成两大类:事件驱动类(event-
driven)和对象模型类(object model)。前者的代表是SAX(
Simple API for XML),后者的代表是DOM(Document Object Model)。
DOM出现的比较早、比较OO,但SAX的运行性能更好。出于易
开发易维护的的角度,我更倾向于DOM。此二者,思路大相径庭,
下面均将详述。
XML Parser可以用多种高级语言实现,也可以被用于多种高级
语言的二次开发。这些语言包括:C、C++、Tcl、Perl、Python以
及Java。其中,尤以Java为甚,C/C++其次。由于Perl是GNU的,所
以用这两种语言书写的XML Parser也相当多。Python是近几年新出
现的一种完全面向对象的、解释型的高级语言,由于出现较晚,所
以相应的XML Parser不多。
C/C++的XML Parser一般以DLL或ActiveX的形式发布(distribute),
少量非商业产品附源码。在商业性的C++ XML Parser中,IBM发布
的xml4c2的影响较大,微软也已经发布了MSXML,其中含有一个
XML Parser。
Java的XML Parser一般以Jar包的形式发布,绝大多数都附有
源码。商业产品较少,多为Open Source的。由于Java语言本身的
优越性,Java的XML Parser在使用上比C/C++的XML Parser更方便
