java - 在 Jython 中解析大型 XML 文档的最佳方法

标签 java python xml jython xom

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

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

The parser has encountered more than "64,000" entity expansions in this document; this is the limit imposed by the application.

我还没有找到解决这个问题的方法,所以我可能必须寻找另一个 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.

关于java - 在 Jython 中解析大型 XML 文档的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5094042/

相关文章:

python - 如何在不改变其形状的情况下在pygame中旋转表面

python - 更改 Django TimeInput 中的默认时间

java - 使用 JAXB 的 Jersey Web 服务中的 xml 语法无效

java - Android 检查设备中的日期格式

java - 递归中 ArrayList 的 ArrayList

java - 壁纸未缩放到设备的显示屏

java - 按下主页按钮时 Android 应用程序崩溃但方向更改正常

python - 如何从数组中删除特定元素而不删除其以后出现的元素

ios - NSMutableArray 多维覆盖自身

java - 将部分 Java 6 库添加到 Java 5 环境