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.
Si vous utilisez xml.etree.ElementTree.parse
pour analyser un fichier, vous pouvez utiliser xml.etree.ElementTree.fromstring
pour analyser le texte.
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.
Vous avez besoin de xml.etree.ElementTree.fromstring (text)
from xml.etree.ElementTree import XML, fromstring, tostring
myxml = fromstring(text)
C'est sur la page que vous avez liée. Utilisez fromstring.