为什么说 SAX 比 DOM4J 解析 xml 性能低?:报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

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

kun坤 2020-06-06 15:28:11 84

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

我的疑问:

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

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

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

                    DOM4J > SAX > DOM > JDOM

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

XML 存储 JavaScript 数据格式
分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-06-08 11:22:11

    我个人认为 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解析。。。
    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程