【发布时间】:2011-02-19 13:48:21
【问题描述】:
我使用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 中声明?
【问题讨论】: