开发者社区> 问答> 正文

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

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

我的疑问:

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

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

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

                    DOM4J > SAX > DOM > JDOM

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

展开
收起
kun坤 2020-06-06 15:28:11 801 0
1 条回答
写回答
取消 提交回答
  • 我个人认为 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解析。。。
    2020-06-08 11:22:11
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
神龙云服务器产品及技术深度解析 立即下载
弹性创造价值:基于ECS的最佳性价比实践解析 立即下载
又快又稳:阿里云下一代虚拟交换机解析 立即下载

相关镜像