1

我们在解析 2 GB XML 文件时得到以下异常,我们发现这是 apache 的一个已知问题。解析大型 XML 的其他可用选项是什么?

java.lang.RuntimeException: Internal Error: fPreviousChunk == NULL
at org.apache.xerces.framework.XMLParser.parse(XMLParser.java:1094)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:345)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:223)

Sax 版本是 2009 xercesImpl-2.2.1.jar 2009 xerces.jar

斯塔克斯呢?DOM 与流式处理

http://docs.oracle.com/cd/E17802_01/webservices/webservices/docs/1.6/tutorial/doc/SJSXP2.html

参考资料 http://www.velocityreviews.com/forums/t165629-any-parser-can-handle-2-1gb-file.html

那么我们可以假设以下吗?SAX 解析器不会处理大小超过 2 GB 的文件。对或错?

谢谢

4

1 回答 1

0

今天,我也遇到了这个问题。这是我解决它的方法。首先,我从 Xerces 1.2.3 版中发现了这个错误弹出窗口。所以我尝试升级到 1.4.4,这是版本 1 的最新版本。但是,它在解析大约 80,000 条记录时会弹出此错误。后来,我刚刚删除了这个依赖,这意味着它将使用带有 JDK 的 Xerces 包。它有效。所以根本原因是过时的xerces库。

于 2019-07-18T21:09:05.610 回答