如何在使用lxml解析期间解析外部未分析实体?在
下面是我的代码示例:import io
from lxml import etree
content = b"""\
]>
"""
parser = etree.XMLParser(dtd_validation=True, resolve_entities=True)
doc = etree.parse(io.BytesIO(content), parser=parser)
print(etree.tostring(doc))
注意:我使用的是lxml>;=3.4
目前我有以下结果:
^{pr2}$
这里,ref1实体没有解析为“python logo”-小.jpg".
我希望有。
有什么不对劲吗?在
我也尝试使用:parser = etree.XMLParser(dtd_validation=True, resolve_entities=True, load_dtd=True)
但我有同样的结果。在
或者,我想自己解决实体问题。为此,我尝试以这种方式列出实体:for entity in doc.docinfo.internalDTD.iterentities():
msg_fmt = "{entity.name!r}, {entity.content!r}, {entity.orig!r}"
print(msg_fmt.format(entity=entity))
但我只得到实体和符号的名称,而不是实体的定义:'ref1', 'jpeg', None
如何访问实体的定义?在