Java中四种解析方式PK

来源:互联网 发布:斗图软件 编辑:程序博客网 时间:2024/05/07 22:35

一、基础解析方式:DOM和SAX

基础解析是指不需要导入jar包,eclipse直接提供给我们的方式

(1)DOM是一种与平台无关的官方解析方式,不止java平台下有DOM解析,其他平台下也有DOM解析

     DOM解析时会一次性的将XML文件中的所有内容加载到内存中并且形成一个DOM树,所以当XML比较大时,会浪费时间,因此对内存的性能要求很高

(2)SAX是java平台提供给我们的一种基于事件驱动的解析方式

     SAX解析时会逐条语句解析,每走一条语句会判断是否触发某个事件方法

二、扩展解析方式:JDOM DOM4J

扩展方法在基础的方法上扩展出来,只有java中能够使用的解析方法,其他平台没有JDOM解析方法

三、四种解析方法的特点

(1)DOM

优点:形成了树结构,直观好理解,代码更易编写,解析过程中树结构保留在内存中,方便修改

缺点:当XML文件较大时,对内存耗费比较大,容易影响解析性能并造成内存溢出

(2)SAX

优点:采用事件驱动模式,对内存耗费比较小,适用于只需要XML中的数据时(对结构不关心)

缺点:不易编码,很难同时访问同一个XML中的多处不同数据(解析有先后顺序,不同的时间出发不同的事件)

(3)JDOM

仅仅使用具体类而不使用接口,简化了API,但是也限制了JDOM解析的灵活性,API中大量使用了Collections类,简化了已经熟悉这些类的java开发者的使用,是一个开放源代码的软件

(4)DOM4J

现在比较流行的解析方式,最初是JDOM的一种智能分支,它合并了许多超出基本XML文档表示的功能,对深层次的XML的支持更完善,DOM4J使用接口和抽象基本类方法,是一个优秀的Java XML  API

具有性能优异、灵活性高、功能强大和极端易于使用的特点

是一个开放源代码的软件,DOM4J比JDOM性能更高

DOM4J应用范围很广,例如Java三大框架Hibernate中也使用DOM4J方式去解析文件

0 0
原创粉丝点击