Python Elementtree: игнорировать неопределенные префиксы - PullRequest
3 голосов
/ 21 октября 2011

У меня есть много «фрагментов» XML, собранных из разных источников. Так как это не полностью сформированные xml-документы, у многих из них нет объявленных префиксов тегов. Например. теги типа <exch:p> paragraph text </exch:p>

Используя Elementtree в python для их анализа, очень часто я получаю неограниченную ошибку префикса. Есть ли переключатель, позволяющий парсеру игнорировать префиксы все вместе.

Спасибо

1 Ответ

0 голосов
/ 30 марта 2013

Я не думаю, что вы можете и с lxml, и с elementtree. Параметры XMLParser ограничены. Сообщение об ошибке приходит из библиотеки парсера экспатов. Чтобы справиться с этим, нужно объявить пространство имен перед анализом.

В XPath есть способ получить только локальное имя

//*[local-name()='p']

но XPath не полностью реализован в elementtree, как упомянуто в документации.

...