xml文件的sax解析
发布时间:2020-12-16 09:21:58 所属栏目:百科 来源:网络整理
导读:dom4j解析: http://www.jb51.cc/article/p-fofwkjdj-qh.html jdom解析: http://www.jb51.cc/article/p-rvtudslh-qh.html dom解析: http://www.jb51.cc/article/p-yefewodp-qh.html sax解析xml, 采用事件处理方法 ,它的解析 不需要完全加载完文件 ,可以 避
dom4j解析:
http://www.52php.cn/article/p-fofwkjdj-qh.html
jdom解析:
http://www.52php.cn/article/p-rvtudslh-qh.html
dom解析:
http://www.52php.cn/article/p-yefewodp-qh.html
sax解析xml,采用事件处理方法,它的解析不需要完全加载完文件,可以避免了当xml文件过大时导致内存溢出的情况。sax解析主要包含两部分:解析器与事件处理器。
java api中已经提供了
创建sax解析器的方式。解析器只要解析到xml文档中的一个部分,就会调用事件处理器的某个方法。如下面的person.xml方件,当读到xml的开始,会触发事件处理器的startDocument()方法,当读到<persons>标签时,又会触发事件处理器的startElement()方法。
事件处理器是由我们来完成的,都过不同的事件,执行不同的方法,就可以完成对xml文件的解析。
如何获取解析器?
1、得到解析工厂。
2、得到解析器。
3、解析xml文件
如何获取事件处理器?
方法1、实现ContentHandler接口,这个方法要实现很多事件处理方法,不是很方便。
方法2、继承DefaultHandler类,查看源码可以看到,
DefaultHandler实现了ContentHandler接口,只是对其方法空实现,所以我们只需要重写我们要处理的事件。
常用事件:
1、startDocument() 读到文档开始时触发事件。
2、endDocument() 读到文档结束时触发事件。
3、startElement() 读到标签开始时触发事件。
4、endElement() 读到标签结束时触发事件。
5、characters() 读到文档字符数据时触发事件。哪怕是空白区域,也会触发这个方法。
下面看一个例子,将上述person.xml保存项目src目录下,并读取后将内容封装成Person对象。
Person类:
[java]
copy
copy
此处再介绍一下XMLReader的用法:
获取解释器之后,我们也可以获取它的XMLReader对象,该对象
具体方法如下。
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |