使用SAX解析超过2 GB的XML文件:异常:内部错误:fPreviousChunk == NULL

时间:2013-03-27 16:42:04

标签: java xml-parsing saxparser

我们得到以下异常解析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

STAX怎么样? DOM vs Streaming

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大小的文件。 是真还是假?

由于

1 个答案:

答案 0 :(得分:0)

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