我需要从Jython解析一个大的(> 800MB)XML文件。 XML没有深度嵌套,包含大约一百万个相关元素。我需要将这些元素转换为真实对象。

我以前曾经成功使用过nu.xom.*,但是现在我已经从Java切换到Jython,该库失败并显示以下消息:


  解析器遇到的不只是
  在此“ 64,000”实体扩展
  文献;这是施加的限制
  应用程序。


我还没有找到解决此问题的方法,因此我可能不得不寻找另一个XML库。它可以是Java或Jython兼容的Python,并且应该高效。 Pythonic会很棒,nu.xom.*很简单,但不是非常Pythonic。你有什么建议吗?

最佳答案

Sax是解析大型文档的最佳方法。

听起来您正在达到默认的扩展限制。
请参阅以下说明:

http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4843787

您需要设置系统属性“ entityExpansionLimit”才能进行更改
默认值。

(添加)另请参见answer to this question.

07-24 18:43
查看更多