码迷,mamicode.com
首页 > 其他好文 > 详细

XML解析

时间:2015-10-02 06:52:36      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

XML在不同的语言里解析方式都是一样的,两种基本方法:

     特点  优点  缺点  
 DOM  基于XML文档树结构 解析器读入整个文档,然后构建一个驻留内存的树结构,然后代码就可以使用 DOM 接口来操作这个树结构 整个文档树在内存中,便于操作;支持删除、修改、重新排列等多种功能  内存要求大,处理复杂XML困难   
 SAX  基于事件流 当解析器发现元素开始、元素结束、文本、文档的开始或结束等时,发送事件,程序员编写响应这些事件的代码,保存数据。  不用事先调入整个文档,占用资源少  不是持久的;事件过后,若没保存数据,那么数据就丢了;无状态性,(适合只读??   
 DOM4J  灵活、完整的解决方案,处理所有JAVA/XML问题。 DOM4J 是一个非常非常优秀的Java XML API,具有性能优异、功能强大和极端易用使用的特点,同时它也是一个开放源代码的软件。如今你可以看到越来越多的Java 软件都在使用DOM4J 来读写XML,特别值得一提的是连 Sun JAXM 也在用DOM4J   

它合并了许多超出基本XML文档表示的功能,包括集成的XPath支持、XML Schema支持以及用于大文档或流化文档的基于事件的处理。

  java实现 
 

JDOM

Java实现   20-80原则,极大减少了代码量。  使用场合:要实现的功能简单,如解析、创建等,但在底层,JDOM还是使用SAX(最常用)、DOMXanan文档。    java实现

比较:

1DOM4J性能最好,连SunJAXM也在用DOM4J。目前许多开源项目中大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件。如果不考虑可移植性,那就采用DOM4J.

2JDOMDOM在性能测试时表现不佳,在测试10M文档时内存溢出。在小文档情况下还值得考虑使用DOMJDOM。虽然JDOM的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它确实没有值得推荐之处。另外,DOM仍是一个非常好的选择。DOM实现广泛应用于多种编程语言。它还是许多其它与XML相关的标准的基础,因为它正式获得W3C推荐(与基于非标准的Java模型相对),所以在某些类型的项目中可能也需要它(如在JavaScript中使用DOM)

3SAX表现较好,这要依赖于它特定的解析方式-事件驱动。一个SAX检测即将到来的XML流,但并没有载入到内存(当然当XML流被读入时,会有部分文档暂时隐藏在内存中)

  

参考:

XML解析4种方式比较:http://blog.csdn.net/jzhf2012/article/details/8532873


XML解析

标签:

原文地址:http://my.oschina.net/u/2266556/blog/513168

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!