DOM和SAX

来源:互联网 发布:淘宝城三期 开业时间 编辑:程序博客网 时间:2024/06/04 19:47

XML最主要的功能用来创建、描述和存储数据信息,以便各种web应用可以基于XML进行数据的交换,其是采用树状结构来描述数据的,在这种“树状结构”中,各节点间层次关系非常清晰,这种“树状结构”,也称其为DOM。dom的方式解析XML时它会在内存中生成一个树形的结构来表示一个XML文档,树上的每个节点代表着XML文档中的一个节点。

  SAX全称为Simple APIs for Xml,它是更具实际应用去求定义的一条对XML文档进行操作的接口规范。SAX提供了一种对XML文档进行顺序访问的模式,使用其解析器对文档进行分析时,文档被看成一个流,当遇到“<>”标记、“</>”标记和一些特殊字符时,会触发一系列事件,并激活相应的事件处理函数,从而完成对XML文档数据的访问,所以 SAX接口也被称作事件驱动接口,基本原理是由接口的使用者提供符合接口规范的处理器。一般SAX接口都是用JAVA实现的。

SAX API库的主要接口和类

Attributes 关于XML属性列表的接口,供访问元素的属性列表;

ContentHandler处理解析XML文档内容时产生的事件;

DTDHandler处理解析DTD时的相应事件;

EntityResolver用于解析实体的基本接口;

ErrorHandler处理解析过程中所遇到的文档错误事件;

Locator为了定位解析中产生的内容事件在文档中的位置而准备的一个定位器接口;

XMLFilter提供了一个方便应用开发的过滤器接口。

  事件处理器是org.xml.sax包中的ContentHandler,DTDHandler,ErrorHandler以及 EntityResolver这四个接口,它们分别处理事件源在解析过程中产生的不同种类的事件。

SAX采用基于事件驱动的处理模式,它将XML文档转化成一系列的事件,由单独的事件处理器来决定如何处理;利用SAX解析XML文档,实际就是要实现这四个事件处理器的接口,为这些接口的所有方法编写处理过程,然后在XMLReader中注册这些方法。

0 0
原创粉丝点击