您的位置:首页 > 编程语言 > Java开发

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