web-dev-qa-db-fra.com

Python xml ElementTree à partir d'une source de chaîne?

ElementTree.parse lit dans un fichier, comment puis-je l'utiliser si j'ai déjà les données XML dans une chaîne?

Peut-être que quelque chose me manque ici, mais il doit y avoir un moyen d’utiliser ElementTree sans écrire la chaîne dans un fichier et la relire.

xml.etree.elementtree

97
George

Si vous utilisez xml.etree.ElementTree.parse pour analyser un fichier, vous pouvez utiliser xml.etree.ElementTree.fromstring pour analyser le texte.

Voir xml.etree.ElementTree

72
Jim H.

Vous pouvez analyser le texte en tant que chaîne, ce qui crée un élément, et créer un ElementTree utilisant cet élément.

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

Je viens de rencontrer ce problème et la documentation, bien que complète, n’est pas très claire sur la différence d’utilisation entre parse() ) et fromstring() méthodes.

191
dgassaway

Vous avez besoin de xml.etree.ElementTree.fromstring (text)

from xml.etree.ElementTree import XML, fromstring, tostring
myxml = fromstring(text)
14
karlcow

C'est sur la page que vous avez liée. Utilisez fromstring.

2
sanxiyn