ElementTree.parse читает из файла, как я могу использовать это, если у меня уже есть данные XML в строке?
Возможно, мне что-то здесь не хватает, но должен быть способ использовать ElementTree, не записывая строку в файл и не читая ее снова.
ElementTree.parse читает из файла, как я могу использовать это, если у меня уже есть данные XML в строке?
Возможно, мне что-то здесь не хватает, но должен быть способ использовать ElementTree, не записывая строку в файл и не читая ее снова.
Ответы:
Если вы используете
xml.etree.ElementTree.parse
для синтаксического анализа из файла, вы можете использоватьxml.etree.ElementTree.fromstring
для синтаксического анализа текста.См. Xml.etree.ElementTree
источник
getroot()
для этогоET.ElementTree(ET.fromstring(xmlstring))
Вы можете проанализировать текст как строку, которая создает элемент, и создать ElementTree, используя этот элемент.
Я просто наткнулся на этот вопрос и документации, в то время как полная, не очень просто на разнице в использовании между
parse()
иfromstring()
методами.источник
root = ET.fromstring(xmlstring)
. РавноET.parse('file.xml').getroot()
: docs.python.org/3.6/library/…Вам нужен
xml.etree.ElementTree.fromstring(text)
источник
io.StringIO - еще один вариант для получения XML в xml.etree.ElementTree :
Hovever, это не влияет на объявление XML, которое можно было бы использовать
tree
(хотя это необходимо для ElementTree.write () ). См. Как написать объявление XML с помощью xml.etree.ElementTree .источник