处理50M以上的xml 设定java虚拟机启动参数,增加内存。另外,如果你xml到了这么大,你还能搞得定吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 DOM是先文件的所有内容都读到内存中之后处理的如果要想处理这么大的文件一个是加大虚拟机的内存一个就是不使用DOM处理,用SAX,SAX是读一点内容处理一点 以前有过类似经历,不能分割文件的话就只能用SAX鸟 处理大的XML必须使用SAX来解释,DOM在大于1M的时候就已经性能不行了 用sax可以修改文件吗?我只知道读文件。请赐教! 还要改?...................把XML直接导到数据库再导出 DOM必须建模文档,通常所建立的对象都要放到内存中,不过不是所有的xml解析器都这样的,apache的xerces是把文档存到硬盘上,需要那部分才拿出来解析。这么大的文档也没有什么太好的办法,只能用SAX解析,把数据用流写入一个新文件,需要加节点的地方手工加。 这么大的xml文件,你要考虑还一种存储方式叻,比如数据库 SAX解析器会回调你在DefaultHandler子类里面定义的startElement(String, String, String, Attributes)、characters(char[], int, int)、endElement(String, String, String)等回调方法,根据需要去实现这些方法就可以了。 btw,用DOM是不可行的。当你发现自己沿着一条路子走进了死胡同的时候,那么显然是走错路了。 同意 jinxfei(周华健、言兴朋、茅威涛) 设置增大jvm的内存即可 一开始就错了,这么多数据就不能用XMLto jinxfei 想不到这里还能看到戏迷,特别是越剧戏迷,实在难得 :) 把XML的数据转到数据库中,应当就可以了 SAX不可以改数据,他是一个顺序读取回调机制的实现DOM能改但是要把模型在内存重构造出来,比较占内存你现在可以改JVM -Xmx512m试试但是这不是长久之计,你赶快想办法把XML改成其他的数据表现形式吧 Java 怎么通过URL引用得到真正的文件名 静态代码块可用来初始化一些项目最常用的变量或对象. 那为什么不写在构造函数里。。。? 软件行业英语面试常见问题 SWT中combo设置数据问题 eclipse编译时的"$"问题 如果打开一个服务器???? JDK 8支持JTrayIcon吗? www.apache.org怎么了? 我用jar打包文件出错,信息如下: java下Scanner的小问题 请高手指点,快来帮我.---------怎么加载一个label急急急急急急 linux下运行applet的 问题!
如果要想处理这么大的文件一个是加大虚拟机的内存
一个就是不使用DOM处理,用SAX,
SAX是读一点内容处理一点
不能分割文件的话就只能用SAX鸟
...................
把XML直接导到数据库
再导出
DOM能改但是要把模型在内存重构造出来,比较占内存你现在可以改JVM -Xmx512m试试但是这不是长久之计,你赶快想办法把XML改成其他的数据表现形式吧