我正在使用 lxml 来解析从另一个系统导出的 XML 文件:
xmldoc = open(filename)
etree.parse(xmldoc)
但我得到:
lxml.etree.XMLSyntaxError:未定义实体“eacute”,第 4495 行,第 46 列
显然,它在使用 unicode 实体名称时存在问题——但我该如何解决呢?通过 open() 还是 parse()?
编辑:我忘记将我的 DTD 包含在同一个文件夹中 - 它现在在那里并且具有以下声明:
<!ENTITY eacute "é">
并且在 xmldoc 中被称为(并且一直是):
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE DScribeDatabase SYSTEM "foo.dtd">
然而我仍然遇到同样的问题...... DTD 是否也需要在 Python 中声明?