相关疑难解决方法(0)

如何在Python中针对DTD文件验证xml

我需要针对DTD描述文件验证XML字符串(而不是文件).

怎么办python

python xml validation dtd

30
推荐指数
2
解决办法
9144
查看次数

lxml unicode实体解析问题

我正在使用lxml来解析来自另一个系统的导出XML文件:

xmldoc = open(filename)
etree.parse(xmldoc)
Run Code Online (Sandbox Code Playgroud)

但我得到:

lxml.etree.XMLSyntaxError:未定义实体'eacute',第4495行,第46列

显然它有unicode实体名称的问题 - 但我怎么能绕过这个呢?通过open()或parse()?

编辑:我忘了把我的DTD包含在同一个文件夹中 - 它现在就在那里,并有以下声明:

<!ENTITY eacute "&#233;">
Run Code Online (Sandbox Code Playgroud)

并且在xmldoc中被引用(并且始终是),如下所示:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE DScribeDatabase SYSTEM "foo.dtd">
Run Code Online (Sandbox Code Playgroud)

但我仍然遇到同样的问题...... DTD是否也需要在Python中声明?

python xml unicode lxml

2
推荐指数
1
解决办法
2750
查看次数

标签 统计

python ×2

xml ×2

dtd ×1

lxml ×1

unicode ×1

validation ×1