SAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数 据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX还比 它的替代者DOM快许多。
SAX采用基于事件驱动的处理方式,它将XML文档转换成一系列的事件,由单独的事件处理器来决定如何处理。
事件处理的顺序,处理时间的位置:一般在startDocument()初始化工作,在endDocument()中收尾的处理工 作;startElement()—characters()—endDocument()是一个XML节点读取的过程,startElement()用 来初始判断,characters()获取节点的字符数据,endDocument()将数据写入数据结构。
待解析的xml文如下:
代码如下:
java实体类用来保存xml中节点中的数据:
XMLContentHandler中定义类事件的处理方法:
本文介绍了一种基于事件驱动的XML解析方法SAX,并通过一个具体的Java实现案例展示了其处理大型文档的优势。该方法无需将整个文档加载到内存中即可进行解析,适用于资源受限的环境。
211

被折叠的 条评论
为什么被折叠?



