出处:http://dev.youkuaiyun.com/htmls/16/16569.html
/* DOM(document object
model)每次读取XML节点时都要把它load到内存里来,在文档很大时,就显得很慢了,SAX(simple API for
XML),是一个XML解析器的接口,它比DOM更低级一些,它是一种基于事件和回调模式的XML处理方式, 因此在解析速度上DOM是没法比的(当要解
析的XML文档很大的时更是如此).那么在SAX中事件响应(event)是什么呢
? 这里则是指碰到特定的XML节点的所做的处理,如文档开始(startDocument),文档结束
(endDocument),元素开始(startElement)等很多,大家看一下SAX的API中的方法名字就知道有哪些事件了,基本上可以做到见
文知义的.在只想分析XML内容(只读),要求高性能,灵活性 能够定位错误信息(SAX能够定位错误的行列位置)时,最好用SAX来做.
一般情况下SAX是按下面的原理去使用的: 例子
JAVA代码
xml完全的内容
<1>设置事件处理器(SAX 1.0是使用一个通过继承HandlerBase类的实例来设置
的,SAX 2.0则是继承DefaultHandler的,还有用XMLReader方式的,在原理上没有很大的区别)
<2>载入要解析的内容
<3>在需要解析的事件方法里(具体参见SAX API文档)加入自己的控制逻辑.
<4>重复<3>直到解析完为止.
在
这里我自己写了一个描述电影海报信息的XML文件(file.xml),用SAX2.0写了一个很简单的XML内容阅读器来解析它, 和大家交流一下自己
的心得.程序在我的机器上经过了测试的(OS: win2k Advanced Server(English version),
Intel pentium CPU, 256M RAM)
*/