Я использую lxml следующим образом для анализа экспортированного файла XML из другой системы:
xmldoc = open(filename)
etree.parse(xmldoc)
Но я получаю:
lxml.etree.XMLSyntaxError: Entity
«eacute» не определено, строка 4495,
колонка 46
Очевидно, что у него проблемы с именами юникод-сущностей, но как мне обойти это? Через open () или parse ()?
Редактировать: Я забыл включить свой DTD в ту же папку - он там сейчас и имеет следующее объявление:
<!ENTITY eacute "é">
и упоминается (и всегда был) в xmldoc следующим образом:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE DScribeDatabase SYSTEM "foo.dtd">
И все же у меня все та же проблема ... нужно ли объявлять DTD также в Python?