XML文件解析四种方式
2016-06-23 11:22
253 查看
XML文件的解析
解析目的是得到xml文档中的节点属性、子节点名、子节点值
四种解析方式的对比(整体)
基础方法(java本身提供的解析方式):DOM解析、SAX解析;DOM解析方式是与平台无关的解析方式,SAX解析方式是基于事件驱动的解析方式
扩展方法(在基础的方法上扩展出的,只有java中能够使用的解析方法):JDOM解析、DOM4J解析
四种解析方式的解析图解
DOM解析的时候会把整个XML文件加载到内存中,形成一个倒立的树。如果XML文件特别大的时候对内存要求比较高。
SAX解析是基于事件解析的,过程是一步一步解析。
DOM解析:
优点——形成了树结构,直观好理解,代码更易编写;解析过程中树结构保留在内存中,方便修改
缺点——当XML文件较大时,对内存耗费比较大,更容易影响解析性能并造成内存溢出
SAX解析:
优点——采用事件驱动模式,对内存耗费比较小;适用于只需要处理XML中的数据时
缺点——不易编码;很难同时访问同一个xml中的多处不同的事件,事件是有先后顺序的
JDOM与DOM、DOM4J:
JDOM——仅使用具体类而不使用接口;API大量使用了Collections类
DOM4J——JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能
DOM4J使用接口和抽象基本类方法,是一个优秀的JAVA XML API
具有性能优异、灵活性好、功能强大和极端易使用的特点
是一个开放源码的软件
解析性能对比
用JUnit来测试,性能测试
对比不同方法的解析速度:DOM4J的解析速度比JDOM的解析速度快;SAX的解析速度比DOM的解析速度快。
解析目的是得到xml文档中的节点属性、子节点名、子节点值
四种解析方式的对比(整体)
基础方法(java本身提供的解析方式):DOM解析、SAX解析;DOM解析方式是与平台无关的解析方式,SAX解析方式是基于事件驱动的解析方式
扩展方法(在基础的方法上扩展出的,只有java中能够使用的解析方法):JDOM解析、DOM4J解析
四种解析方式的解析图解
DOM解析的时候会把整个XML文件加载到内存中,形成一个倒立的树。如果XML文件特别大的时候对内存要求比较高。
SAX解析是基于事件解析的,过程是一步一步解析。
DOM解析:
优点——形成了树结构,直观好理解,代码更易编写;解析过程中树结构保留在内存中,方便修改
缺点——当XML文件较大时,对内存耗费比较大,更容易影响解析性能并造成内存溢出
SAX解析:
优点——采用事件驱动模式,对内存耗费比较小;适用于只需要处理XML中的数据时
缺点——不易编码;很难同时访问同一个xml中的多处不同的事件,事件是有先后顺序的
JDOM与DOM、DOM4J:
JDOM——仅使用具体类而不使用接口;API大量使用了Collections类
DOM4J——JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能
DOM4J使用接口和抽象基本类方法,是一个优秀的JAVA XML API
具有性能优异、灵活性好、功能强大和极端易使用的特点
是一个开放源码的软件
解析性能对比
用JUnit来测试,性能测试
对比不同方法的解析速度:DOM4J的解析速度比JDOM的解析速度快;SAX的解析速度比DOM的解析速度快。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序