一,SAX
1.SAX,全称Simple API for XML,既是指一种接口,也是指一个软件包。
2.作为接口,SAX是事件驱动型XML解析的一个标准接口。
二.SAX工作原理
SAX工作原理简单地说就是对文档文档进行顺序扫描,当扫描到文档开始与结束、元素开始与结束、文档结束等地方时通知事件处理函数,由事件处理函数做相应动作,然后继续同样的扫描,直至文档结束。
大多数SAX实现都会产生以下类型的事件:
1.在文档的开始和结束时触发文档处理事件。
2.在文档内每一XML元素接受解析的前后触发元素事件。
3.任何元数据通常都由单独的事件交付。
4.在处理文档的DTD或Schema时产生DTD或Schema事件。
5.产生错误事件用来 通知主机应用程序解析错误。
三.SAX的常用接口介绍
ContentHandler接口
ContentHandler是java类包中一个特殊的SAX接口,位于org.xml.sax包中。该接口封装了一些对事件处理的方法,当XML解析器开始解析XML输入文档时,它会遇到某些特殊的事件,比如文档的开头和结束、元素开头和结束、以及元素中的字符数据等事件。当遇到这些事件时,XML解析器会调用ContentHandler接口中相应的方法来响应该事件。
ContentHandler接口的方法有以下几种:
1.void startDocument()
2.void endDocument()
3.void startElement(String uri,String localName,Strng qName,Attrbutes atts)
4.void endElement(String uri,String localName,Strng qName)
5.void character(char[] ch,int start,int length)