现在需要解析一个xml文档,文档的大小为200M左右,现在不知道选用哪种方式了 是用Dom还是sax呢? 还有到底什么时候选用dom什么时候选用sax,文件大小在多少左右的时候选用sax,多少的时候选用dom呢?

解决方案 »

  1.   

    当然是用SAX
    如果用Dom,需要的内存太大,DOM是一次性加载整个XML文件。
      

  2.   

    小的用dom
    大的用sax
    dom直接一次性把文档加载到内存了
    sax是事件驱动的
    还是比较好用的
      

  3.   

    如果使用JDK1.6,还可以使用Stax。个人觉得比SAX好用多了
      

  4.   

    SAX解析吧,200M,太大了。DOM一次加载估计等的人就会崩溃了,如果反问量大的话,是很不理想一种。
      

  5.   

    sax解析大数据量的xml文件,我觉得超过5M就不要考虑dom解析了。dom主要用于生成xml或者修改xml文件。
    也可以使用基于流的stax来解析。但是我试验过,stax解析速度比sax还是要慢一点点。一般不是特别大的文件生成与读取都可以使用dom4j来完成就行了。