DOM4J、DOM、JDOM和SAX之间的比较
2017-01-09 00:00
162 查看
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。但无论如何,还是那句话:适合自己的才是最好的,如果时间允许,建议大家将这四种方法都尝试一遍然后选择一种适合自己的即可。
JDOM和DOM在性能测试中相对较弱,在测试10M文档的时候存在内存溢出的问题,但可移植。在小文档情况下还值得考虑使用DOM和JDOM.虽然JDOM的开发者已经说明他们期望在正式发行版前专注性能问题,但是从性能观点来看,它确实没有值得推荐之处。另外,DOM仍是一个非常好的选择。DOM实现广泛应用于多种编程语言。它还是许多其它与XML相关的标准的基础,因为它正式获得W3C推荐(与基于非标准的Java模型相对),所以在某些类型的项目中可能也需要它(如在JavaScript中使用DOM)。
SAX表现较好,这要依赖于它特定的解析方式-事件驱动。一个SAX检测即将到来的XML流,但并没有载入到内存(当然当XML流被读入时,会有部分文档暂时隐藏在内存中)。
如果XML文档较大且不考虑移植性问题建议采用DOM4J;如果XML文档较小则建议采用JDOM;如果需要及时处理而不需要保存数据则考虑SAX。但无论如何,还是那句话:适合自己的才是最好的,如果时间允许,建议大家将这四种方法都尝试一遍然后选择一种适合自己的即可。
相关文章推荐
- Shiro学习之路 Hello Shiro(一)
- IPV4基本设置
- MySQL5.6多实例部署
- 虚拟化基础架构Windows 2008篇之9-配置Windows部署服务
- [游戏资讯]《极品飞车16:亡命狂飙》配置需求公布
- 配置文件神器 typesafe conf 用法简介
- 配置文件神器 typesafe conf 用法简介
- 选定虚拟主机 性能凸显优势
- 路由器备份配置
- DVI 视频接口图文解析
- 修改一行代码提升 Postgres 性能 100 倍
- IE6不能正常解析CSS文件问题的解决方法及原因分析
- 路由器的基本配置
- 路由器基础配置及传输协议
- 经典配置 Vlan篇
- 备份线路的配置
- 交换机如何配置 新手配置交换机详细教程
- redis的hGetAll函数的性能问题(记Redis那坑人的HGETALL)
- 推荐Sql server一些常见性能问题的解决方法