dom4j读取xml后,遍历xml中元素的效率怎么样?
使用xpath方式遍历效率如何?

解决方案 »

  1.   

    主要是听说xpath路径写的方式不同,效率可能会有一定的提升,
    我自己写的一个测试的也不知道是不是最优化的
    xpath方式我觉得应该是方便定位某一个元素的吧?好像有这么个道理“鱼与熊掌不能兼得”。。有没有用过xpath的?看看你觉得是用这种xpath方式遍历快,还是通过其中对节点元素的循环遍历效率高?我想写一个效率高的,“定位方便”这个要求可以是第二位的
      

  2.   

    DOM采用的是整体读入,优点在需要向前处理时非常容易,DOM载入整个XML到树中,缺点是对于大文件的载入非常浪费资源
    SAX采用的事件处理,SAX不主动载入XML文档,只提供所有的文档操作事件,需要编程者手动处理所有的事件,优点在处理速度快,资源消耗最小,缺点是不能提供向前访问,只有重新载入文档才行
    JDOM采用的是DOM和SAX的综合体,80/20结构,并且提供了大量的适配器,不再需要自己构造DOM或者SAX的处理器,同时对于编程来说,不再使用工厂来提供对象,使JDOM编程更清晰易读 DOM4J 应该是相对来说 还行的
      

  3.   

    对以上的回答表示感谢,我也学到了其中的一些原理
    但是我想知道的是在这些解析工具读取xml文件之后,遍历这个内存中对象的效率
    应为有一些公共的配置xml文件可能也就在应用启动时装载一次,然后基本就是遍历这个对象
    这个时候我想要的是遍历最快的方式
      

  4.   

    dom,sax,jdom ,dom4j
    这四个dom4j效率最好
      

  5.   

    以前用过xom  觉得很强啊,为啥没人用。 呵呵
      

  6.   


    你的问题就是访问内存里对象所用的时间。其实已经读到内存成为对象了,随便哪种都很快,几乎不需要怎么考虑性能。实在不放心你可以自己写个vector或者hashmap之类的存放解析完的xml对象内容。