一个大于2GB的XML的确少见
那就用SAX吧.

解决方案 »

  1.   

    2GB用一个XML绝对不是一个好主意,是否可以考虑用多个xml集合?类似多个struts-config.xml?
      

  2.   

    没有办法. 是用户那边提供的一个数据倾倒接口. 
    我们只能解析他们倾倒出来的XML文件.
    :(
      

  3.   

    解析2G的XML,你的电脑需要服务器级别的才行。
      

  4.   

    写程序读成一段一段保证元素的完整性,再用SAX2
      

  5.   

    分块解析吧
    采用类似.NET 那个XMLREADER的做法
    单向读取形式然后读文件的时候1024或者2048读一次
    处理完再读接下去的部分
      

  6.   

    如果层次不深的话  sax应该没有问题
      

  7.   

    层次不深.现在用SAX2.
    我的电脑是四年前的机器. 如果完成后,是专门服务器去解析.
    请教个问题, SAX如何解析"<dsc><![CDATA[ 哩哩啦啦...很长很长 ]]> </dsc>"这句?
      

  8.   

    没有想到xml的文件居然会有2G,需要进一步学习xml
      

  9.   

    解决思路:
    方法一:首先把2G的xml文件拆分为每个10-100M左右的xml文件;然后用SAX进行解析!
    方法二:首先把2G的xml文件拆分为每个1-10M左右的xml文件,然后用DOM进行解析!我做过测试的DOM解析的xml文件不能超过10M,要不然会报异常的!
      

  10.   

    jackxing(Jack):xml文件就是数据库,你想让它存多大的内容都可以的!
      

  11.   

    2GB是老外的想法:(_______________________________________请教个问题, SAX如何解析"<dsc><![CDATA[ 哩哩啦啦...很长很长 ]]> </dsc>"这句?
      

  12.   

    不知道你的xml什么结构的 里面数据是什么样的
      

  13.   

    问一下设计这个系统的人,他一定有办法的:)
    ---------------------------------------------
    就是问不到......
    文件很大,主要是数据量大,还有,XML文件中还包含有很大的EDI格式的文件
      

  14.   

    To:netstu(孤心)解析的目的就是把XML中的数据导入数据库:)xml的机构比较简单.
      

  15.   

    自己写段代码处理一下好了,XML文件格式也不复杂
      

  16.   

    现成的解析器都不合适处理这么大的文件,而这种特化的数据只要能处理部分XML特性就可以的
      

  17.   

    “没有办法. 是用户那边提供的一个数据倾倒接口. 
    我们只能解析他们倾倒出来的XML文件.
    :(”----滥用xml导致的又一搞笑局面。
      

  18.   

    DOM要全部读到内存中,然后生成一棵树。
    SAX的串行化处理的,读到哪里解析到哪里。不用全部读到内存中。
      

  19.   

    sax:  programming-difficult, realize-ok
    jdom:  programming-easy       realize-ok
    dom4j: programming-easy       realize-ok
    dom:   programming-easy       realize-not