SAX和STAX解析xml
1、SAX和STAX都是基于事件驱动的。 SAX是推模式----解析器控制xml文件解析,由解析器调用相应的事件方法。
SAX中常见的我五个事件:
startDocument()-------文档开始事件
startElement()----------元素开始事件
characters()------------文本开始事件
endElement()------------元素结束事件
endDocument()------------文档结束事件
为什么说SAX是推模式解析??
在SAX解析器(SAXParser)解析之前,需要传给它xml文档和文档解析方法(DefaultHandler里面就
包含了上面的五种方法),SAX每读取一句,将这句xml内容扔给DefaultHandler,让它根据里面的方法
进行解析,之所以叫推模式,就是由于这种方式是由服务器端主导的。
2、STAX是拉模式。-----客户端程序,自己控制xml事件,主动调用相应的事件方法。
想使用XML PULL时,如果用的是Android系统,系统内置,无需下载任何开发包;如果在javaSE和javaEE
中要用PULL解析技术,需要单独下载PULL开发工具包。
XPP3------XML PULL PARSER 3是PULL API的代码实现。