我在一个大的XML文件(800 MB)上对Jython中的xml.sax解析器进行了一个简单的测试,并遇到以下错误:
Traceback (most recent call last):
File "src/project/xmltools.py", line 92, in <module>
sys.exit(main())
File "src/project/xmltools.py", line 87, in main
parser.parse(open(argv[1], "r"))
File "/amd.home/home/user/workspace/jython-2.5.2/Lib/xml/sax/drivers2/drv_javasax.py", line 146, in parse
self._parser.parse(JyInputSourceWrapper(source))
File "/amd.home/home/user/workspace/jython-2.5.2/Lib/xml/sax/drivers2/drv_javasax.py", line 59, in fatalError
self._err_handler.fatalError(_wrap_sax_exception(exc))
File "/amd.home/home/user/workspace/jython-2.5.2/Lib/xml/sax/handler.py", line 38, in fatalError
raise exception
xml.sax._exceptions.SAXParseException: <unkNown>:1:1: The parser has encountered more than "64,000" entity expansions in this document; this is the limit imposed by the application.
这个“应用程序强加的限制”有什么问题?如何覆盖它?
我试图使用Java XML库nu.xom并遇到同样的错误.
解决方法:
尝试将entityExpansionLimit属性设置为高于64000的值.请参阅http://download.oracle.com/javase/1.5.0/docs/guide/xml/jaxp/JAXP-Compatibility_150.html#JAXP_security.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。