DOM4J、DOM、JDOM和SAX之间的比较

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

DOM4J是四个中性能最好的,连Sun的JAXM用的都是DOM4J。很多开源项目中也大量采用DOM4J,例如大名鼎鼎的Hibernate也用DOM4J来读取XML配置文件。若忽略可移植性,可以采用DOM4J.

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

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

     如果XML文档较大且不考虑移植性问题建议采用DOM4J;如果XML文档较小则建议采用JDOM;如果需要及时处理而不需要保存数据则考虑SAX。但无论如何,还是那句话:适合自己的才是最好的,如果时间允许,建议大家将这四种方法都尝试一遍然后选择一种适合自己的即可。

 

转载于:https://my.oschina.net/u/2971691/blog/821665

你可能感兴趣的:(DOM4J、DOM、JDOM和SAX之间的比较)