我想问有哪些已知的现有 Python 2.x 库可用于使用内置 DTD 解析 XML 文档without自动扩展实体。 (对于那些好奇的人来说有问题的文件:JMdict ftp://ftp.monash.edu.au/pub/nihongo/JMdict.)
似乎 lxml 有一些不解析实体的选项,但上次我尝试时,实体最终被转换为空白。我刚刚用谷歌搜索了这个,发现 pxdom 作为我可以尝试的另一种替代方案,但由于它是纯 Python,所以它看起来比我想要的慢得多。
还有什么吗?
lxml http://lxml.de问题中提到了,据我所知,它满足了您的要求。测试代码:
from lxml import etree
XML = """
<!DOCTYPE root [
<!ENTITY abc "123">
]>
<root>
&abc;
</root>"""
parser = etree.XMLParser(resolve_entities=False)
root = etree.fromstring(XML, parser)
print "Entity not resolved:"
print etree.tostring(root)
print
print "Entity resolved:"
root = etree.fromstring(XML)
print etree.tostring(root)
Output:
Entity not resolved:
<root>
&abc;
</root>
Entity resolved:
<root>
123
</root>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)