对XML文件进行维护和操作的接口,目前存在两类标准:DOM和SAX。前者将XML文件当做整体来处理;后者将XML文件当做数据流来处理。除此之外,还有一些非标准的XML接口,例如jDOM、DOM4j等。这些接口和标准的DOM不兼容,但由于其易用性,在Java开发中有着十分广泛的应用。 1.DOM标准 DOM是一种操作XML数据文件最广泛的标准,独立于特定语言和平台。DOM只是用来规范软件的,而不是一种软件。目前,很多XML解析器都采用DOM接口标准。DOM标准最基本的思想是将整个XML数据文件加载如内存,并在内存中解析成一棵树形对象,程序通过DOM接口可以自由操作该树对象。因而,给予DOM的处理器对内存要求较高,办其速度相对较快。 2.SAX标准 SAX标准是由一家公司推出的操作XML数据文件的方法,目前已经成为一个标准。该接口以流的方式操作XML数据文件,由于是读一部分数据,再处理一部分数据,所以对系统的内存要求不高。该接口通常是给予时间的,其将XML数据文件中不同的内容归类为不同对象。当SAX处理器分析道不同的对象时,就产生不同的时间,进而调用不同的事件处理器。 3.JAXP规范 JAXP是Sun公司提出的一种Java操作XML数据文件的标准,目前被很多Java XML解析器支持。JAXP的作用是在Java应用程序和具体解析器之间提供一个统一编程接口,从而提高Java应用程序的可移植性。JAXP本身不是解析器,也不能替代标准的DOM和SAX接口,但其规范了Java应用程序火气DOM和SAX接口的方式,规范了Java应用程序加载XML解析器的方式。 JAXP本身只是一个接口框架,它的正确使用需要有XML解析器。JDK1.5之后,上海网站设计公司采用Xerces为默认的解析器,提供了JAXP的默认实现。但这种设置可以通过修改系统属性而改变。 |