Python xml ElementTree из строкового источника? - PullRequest
90 голосов
/ 15 марта 2009

ElementTree.parse читает из файла, как я могу использовать это, если у меня уже есть данные XML в строке?

Возможно, я что-то здесь упускаю, но должен быть способ использовать ElementTree, не записывая строку в файл и не читая ее снова.

xml.etree.elementtree

Ответы [ 4 ]

172 голосов
/ 17 августа 2013

Вы можете проанализировать текст как строку, которая создает элемент, и создать ElementTree, используя этот элемент.

import xml.etree.ElementTree as ET
tree = ET.ElementTree(ET.fromstring(xmlstring))

Я только что столкнулся с этой проблемой, и документация, хотя и полная, не очень прямолинейна в отношении различий в использовании между parse() и fromstring() методами.

72 голосов
/ 15 марта 2009

Если вы используете xml.etree.ElementTree.parse для анализа файла, вы можете использовать xml.etree.ElementTree.fromstring для анализа текста.

См. xml.etree.ElementTree

14 голосов
/ 15 марта 2009

Вам необходим xml.etree.ElementTree.fromstring (текст)

from xml.etree.ElementTree import XML, fromstring, tostring
myxml = fromstring(text)
2 голосов
/ 15 марта 2009

Это на странице, на которую вы ссылаетесь. Использовать из строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...