错误:使用 wikixmlj 解析 xml 文件时出现 xml.sax.SAXParseException [英] Error: xml.sax.SAXParseException while parsing a xml file using wikixmlj

查看:51
本文介绍了错误:使用 wikixmlj 解析 xml 文件时出现 xml.sax.SAXParseException的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用 wikixmlj 解析 wikipedia xml 转储并收到以下错误.

I am parsing the wikipedia xml dump using wikixmlj and getting the following error.

org.xml.sax.SAXParseException; lineNumber: 64243259; columnNumber: 371; JAXP00010004: The accumulated size of entities is "50,000,001" that exceeded the "50,000,000" limit set by "FEATURE_SECURE_PROCESSING".
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1239)
        at edu.jhu.nlp.wikipedia.WikiXMLSAXParser.parse(WikiXMLSAXParser.java:58)
        at edu.virginia.cs.wikirarchy.ParseWikiPage.run(ParseWikiPage.java:36)
        at java.lang.Thread.run(Thread.java:745)

所以这部分错误是主要的:

So this part of the error is main:

实体的累计大小为50,000,001",超过了FEATURE_SECURE_PROCESSING"设置的50,000,000"限制.

The accumulated size of entities is "50,000,001" that exceeded the "50,000,000" limit set by "FEATURE_SECURE_PROCESSING".

我无法找到解决此问题的方法.

I am unable to find out a solution of this problem.

推荐答案

在运行 java 命令时再添加三个参数解决了我的问题.

Adding three more arguments while running java command solved my problem.

-DentityExpansionLimit=2147480000 -DtotalEntitySizeLimit=2147480000 -Djdk.xml.totalEntitySizeLimit=2147480000

-DentityExpansionLimit=2147480000 -DtotalEntitySizeLimit=2147480000 -Djdk.xml.totalEntitySizeLimit=2147480000

所以,现在我正在使用以下命令运行我的代码.

So, right now I am running my code with the following command.

nohup java -DentityExpansionLimit=2147480000 -DtotalEntitySizeLimit=2147480000 -Djdk.xml.totalEntitySizeLimit=2147480000 -Xmx16g -cp "lib/*.jar" -arch2yamp;WikiR/p>

nohup java -DentityExpansionLimit=2147480000 -DtotalEntitySizeLimit=2147480000 -Djdk.xml.totalEntitySizeLimit=2147480000 -Xmx16g -cp "lib/*.jar" -jar dist/WikiRarchy.jar 32 &

出现问题的原因是 - 默认情况下,安全处理将实体数量限制为 50,000,000,而此扩展限制控制实体扩展.

The problem was occurring because- by default secure processing limits the number of entities to 50,000,000 and this expansion limit controls entity expansion.

这篇关于错误:使用 wikixmlj 解析 xml 文件时出现 xml.sax.SAXParseException的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆