为什么说 SAX 比 DOM4J 解析 xml 性能低?

发布于 2021-11-10 21:19:44 字数 531 浏览 850 评论 8

目前公认的XML解析器性能最好的是 DOM4J

我的疑问:

DOM4J 是基于DOM文档树结构来进行解析的,来解析xml文件之前,会将整个 XML文档装载入内存形成完整的 DOM数结构,然后进行 DOM 节点的读取。

而 SAX 处理的优点非常类似于流媒体的优点,分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中;这对于大型文档来说是个巨大的优点;事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析;一般来说,SAX还比它的替代者DOM快许多。

但是网上有很多的 DOM, DOM4J, JDOM, SAX 对比,得出的性能结论是:

                    DOM4J > SAX > DOM > JDOM

我就感到很奇怪,SAX 的性能怎么就比 DOM4J 低了呢? 流的处理方式应该是最快的啊?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(8

凯凯我们等你回来 2021-11-17 17:55:03

看了下官网,Dom4j好像支持SAX解析。。。

初见你 2021-11-17 17:52:38

我看了网上很多的对比,基本上都是这么说的

韬韬不绝 2021-11-17 17:48:05

like this one? http://stackoverflow.com/questions/2520950/difference-in-performance-between-stax-and-dom-parsing

丢了幸福的猪 2021-11-17 17:36:03

几年前我测试过,的确是这样的,df实在需要才加载,所以最快,不关xpath的事,sax读快,dom全部读进内存所以写快读慢。但这都不是重点,dom4鸡主要是文档诱人,直接扒代码,猪都会

沦落红尘 2021-11-17 17:33:53

你有自己测试过并贴下测试数据么?

 

 

笑红尘 2021-11-17 14:22:10

SAX執行速度快

DOM編碼速度快 =_='''

柳絮泡泡 2021-11-16 06:08:36

因为dom4f支持xpath

眉黛浅 2021-11-14 04:19:24

我个人认为 SAX 的性能应该比 DOM4J 快。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文