外贸学口语软件:JAVA中jdom如何读大于10M的XML文档

来源:百度文库 编辑:高考问答 时间:2024/04/30 13:06:57
我需要解析一个XML文档,大约有16M。用JDOM读取的时候会内存出错:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
我试过将相关变量设置为静态变量(以前C++中类似的问题可以解决),也不行。
请问哪位高手有什么解决办法没啊?

遇上朋友啦!!

最近正好我也在学 解析XML文档!

大至可以通过四中途径解析XML

1。DOM解析: org.w3c.dom包 采用节点树 //解析加载整个文档消耗资源

2。SAX解析: org.xml.sax包 采用事件处理 //解析速度快,内存消耗低, 但是不提供对xml文档的修改(适合比较大的xml文档)

3。JDOM解析: http://www.jdom.org/下载JDOM 采用节点树,使用了java集合类 //类似DOM解析 但增加了java的集合类

4。dom4j解析: http://sourceforge.net/projects/dom4j/下载 采用节点树及事件处理 //功能极其强大, 支持大的xml文档, 支持Xpath

综合:

需要更改xml文档时: dom , jdom , dom4j

不需要更改或大的xml文档: sax , dom4j

在需要更换解析器的情况下: 采用DOM或SAX (因为他们是java内置的)

不需要更换时: 采用dom4j解析器

(纯属个人编写,非转载或抄袭, 若有错误地方请指出)
( napolun版权所有 哈哈)

dom方式不能解析大的xml文件(10m是极限)。
必须用别的方式,
推荐你学习sax方式(很简单,网络上资料很多)

应该说,解析方式很多,每种都有优缺点,要学会在不同情况下用不同的解析方式。