2009-03-15 12 views

Odpowiedz

54

Jeśli używasz xml.etree.ElementTree.parse do analizy pliku, możesz użyć xml.etree.ElementTree.fromstring do analizy tekstu.

Zobacz xml.etree.ElementTree

+24

Problem polega na tym, że ElementTree.fromstring generuje element, a nie ElementTree! Ktoś wie, jak to obejść? –

+3

Ten sam problem, o którym wspomniałem @SamuelLampa. Nie jestem ElementTree, nie jestem w stanie zrobić 'getroot()' dla tego –

+10

@SamuelLampa zobacz [odpowiedź dgassawaya] (http://stackoverflow.com/a/18281386/12744), użyj 'ET.ElementTree (ET .fromstring (xmlstring)) ' –

2

Jest na stronie, którą powiązane. Użyj odciągania.

14

Musisz xml.etree.ElementTree.fromstring (tekst)

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

Można analizować tekst jako ciąg znaków, który tworzy element, i stworzyć ElementTree użyciem że Element.

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

Właśnie natknąłem tej kwestii i dokumentacji, a pełna, nie jest bardzo proste na różnicy między sposobami wykorzystania parse() i fromstring().

+24

To powinna być zaakceptowana odpowiedź. – fiatjaf

+2

Druga linia może być po prostu 'root = ET.fromstring (xmlstring)'. Równania 'ET.parse ('plik.xml'). Getroot()': https://docs.python.org/3.6/library/xml.etree.elementtree.html#parsing-xml –

Powiązane problemy