【发布时间】:2023-08-15 04:34:02
【问题描述】:
我在读取大型 XML 文件“100 MB”并使用 xstream 解析它时遇到问题,总是会出现以下错误
java.lang.OutOfMemoryError: Java heap space error occurs,
这是解析 XML 的代码
XStream xstream = new XStream(); xstream.processAnnotations(Class.forName((String)ClassName));
ClassName 是一个普通的类,其字段带有 xml 注释。
然后使用
Object resultDto = xstream.fromXML((String)fileString);
fileString: 是读取后的xml文件作为输入流放入字符串缓冲区。
上面的代码适用于小文件,但不适用于大文件,请问有什么想法吗?
【问题讨论】:
-
XStream 构造函数可以有一个参数,指定要使用的 xml 解析器的类型,我想,也许这对你有帮助(不要一次将整个 xml 加载到内存中):xstream.codehaus.org/tutorial.html
标签: java xml marshalling xstream unmarshalling