1.SAX(Simple Access for XML)API:基于事件驱动的XML处理模型,是一种推模式解析(push-parsing) XML文档的API。
解析程序按读入xml文档事件的顺序解析数据,同时基于所选择的结构调用回调处理函数。
2.SAX处理模型的工作步骤:
(1).实现一个扩展DefaultHandler的类,并为每种类型的结构定义回调方法。
(2).初始化一个新的SAX Parser类,Parser读取XML源文件,并触发DefaultHandler类中所定义的回调方法。
(3).顺序读取XML源文件。
3.SAX处理XML文件过程详解:
(1).创建实现DefaultHandler的XML处理器:
(2).获取SAX Factory和Parser:
a.创建已实现的Handler类实例:
b.获取SAXFactory实例:
c.通过SAXFactory创建SAX Parser:
d.分析XML文件:
4.SAX处理XML的优点:
SAX最大的优点是不把任何的XML文档一次性装入内存中,而是依次逐步读入,因此相比DOM的解析方式更加快速和轻便。
具体如下:
(1).没有将整个文档读入内存,内存耗费较低,尤其对于大型的文件这是一个非常巨大的优点。
(2). 使用“ 推模式 ”(由文档读入事件来取代处理程序),允许注册多种内容处理器。
5.SAX处理XML的局限和适应场景:
(1).没有内建的文档导航支持
(2).不能随机访问 XML 文档
(3).不支持命名空间
SAX处理XML方式适用于:对 XML 只有读操作的程序(不要用来操作和修改XML 文档)。