Python 3 lxml.Objectify - PullRequest
       39

Python 3 lxml.Objectify

0 голосов
/ 03 ноября 2019

У меня есть небольшой скрипт, который делает запросы с httplib2, который возвращает тело ответа в байтах. Обычно я хочу немедленно декодировать его в str, чтобы мой код мог работать так же, как это было ранее с 2.7.

Однако, когда ответом является XML с кодировкой в ​​качестве первой строки, lxml.objectify завершается с ошибкой в ​​Python 3, так как он ожидает, что байты не являются str. Как лучше всего перейти от XML str к объективированному объекту в Python 3?

1 Ответ

0 голосов
/ 03 ноября 2019

Чтобы проанализировать xml из строки, используя lxml, вы можете использовать метод .fromstring().

Пример:

from lxml import etree

xml = '<a xmlns="test"><b xmlns="test"/></a>'

root = etree.fromstring(xml)
...