目前公认的XML解析器性能最好的是 DOM4J
我的疑问:
DOM4J 是基于DOM文档树结构来进行解析的,来解析xml文件之前,会将整个 XML文档装载入内存形成完整的 DOM数结构,然后进行 DOM 节点的读取。
而 SAX 处理的优点非常类似于流媒体的优点,分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中;这对于大型文档来说是个巨大的优点;事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析;一般来说,SAX还比它的替代者DOM快许多。
但是网上有很多的 DOM, DOM4J, JDOM, SAX 对比,得出的性能结论是:
DOM4J > SAX > DOM > JDOM
我就感到很奇怪,SAX 的性能怎么就比 DOM4J 低了呢? 流的处理方式应该是最快的啊?
我个人认为 SAX 的性能应该比 DOM4J 快。######因为dom4f支持xpath######支持xpath应该不是原因吧,正是支持xpath,DOM4J必须加载整个XML文档啊######
SAX執行速度快
DOM編碼速度快 =_='''
你有自己测试过并贴下测试数据么?
######几年前我测试过,的确是这样的,df实在需要才加载,所以最快,不关xpath的事,sax读快,dom全部读进内存所以写快读慢。但这都不是重点,dom4鸡主要是文档诱人,直接扒代码,猪都会######
你是不是只看了中文资料啊
为什么我看到的都是说StAX快
######like this one? http://stackoverflow.com/questions/2520950/difference-in-performance-between-stax-and-dom-parsing######我看了网上很多的对比,基本上都是这么说的######看了下官网,Dom4j好像支持SAX解析。。。版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。