Python Jython和SAX解析器:不允许超过64000个实体?
我在Jython中对一个大xml文件(800 MB)进行了Python Jython和SAX解析器:不允许超过64000个实体?,python,xml,jython,sax,saxparser,Python,Xml,Jython,Sax,Saxparser,我在Jython中对一个大xml文件(800 MB)进行了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
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.
回溯(最近一次呼叫最后一次):
文件“src/project/xmltools.py”,第92行,在
sys.exit(main())
文件“src/project/xmltools.py”,第87行,主目录
parser.parse(open(argv[1],“r”))
文件“/amd.home/home/user/workspace/jython-2.5.2/Lib/xml/sax/drivers2/drv_javasax.py”,第146行,解析中
self._parser.parse(JyInputSourceWrapper(source))
文件“/amd.home/home/user/workspace/jython-2.5.2/Lib/xml/sax/drivers2/drv_javasax.py”,第59行,在fatalError中
self.\u err\u handler.fatalError(\u wrap\u sax\u异常(exc))
fatalError中的文件“/amd.home/home/user/workspace/jython-2.5.2/Lib/xml/sax/handler.py”,第38行
引发异常
xml.sax._exceptions.SAXParseException::1:1:解析器在此文档中遇到了超过“64000”个实体扩展;这是应用程序施加的限制。
“应用程序施加的限制”有什么问题?我如何可以覆盖它
我尝试使用Java XML库
nu.xom
,但遇到了相同的错误。尝试将entityExpansionLimit
属性设置为高于64000的值。看