以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 DOM/SAX/XPath 』 (http://bbs.xml.org.cn/list.asp?boardid=11) ---- dom4j解析大xml文件(20M左右)的问题。。。。。。,高手请进 (http://bbs.xml.org.cn/dispbbs.asp?boardid=11&rootid=&id=71419) |
-- 作者:anchorTan -- 发布时间:1/15/2009 2:43:00 PM -- dom4j解析大xml文件(20M左右)的问题。。。。。。,高手请进 用dom4j解析一20M左右的xml文件时,在设置了jvm的内存后,能够运行,要不然会报outofmemory错误,但是,我想把读入的xml文件内容显现出来的时候,我用了document.toXml()方法,但是得到的内容好像只是原来xml文件的一部分,比如说有些节点的子节点就没了,请高人指点这是怎么回事?,document不应该包含整个xml文件的吗????? SAXReader saxReader = new SAXReader(); |
-- 作者:Qr -- 发布时间:1/15/2009 3:31:00 PM -- DOM方式无法处理大型XML文档的,因为其解析方式是将XML完全读入内存中处理,20M的文件最少需要200M的内存空间,不报outofmemory才怪。 要处理大型XML文档,用SAX吧。 |
-- 作者:Qr -- 发布时间:1/15/2009 3:34:00 PM -- document不应该包含整个xml文件的吗????? 因为DOM的问题,内存无法完全加载XML文档。至于节点保留多少、遗漏多少,这个要看内存的大小。 |
-- 作者:anchorTan -- 发布时间:1/18/2009 1:13:00 PM -- 好像SAX好像不太适合对XML文件进行修改...... |
-- 作者:Qr -- 发布时间:1/18/2009 6:03:00 PM --
你用DOM方式修改大型XML文档看看,偶不相信你会觉得DOM适合。 |
-- 作者:anchorTan -- 发布时间:1/19/2009 4:23:00 PM -- 非常感谢,那请问一下,用SAX怎么修改XML中的element或则attribute,能给个简单的实例吗,谢谢,不胜感激 |
-- 作者:Qr -- 发布时间:1/19/2009 8:38:00 PM -- SAX不提供修改功能函数。要实现SAX“修改”XML,只有另想办法,但是不同的解析器,用法不同。只有根据特定的解析器,设计不同的算法来进行。 |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |