Ho una stringa contenente dati XML restituita da una richiesta http.Python ElementTree: analisi di una stringa e acquisizione dell'istanza ElementTree
Sto utilizzando ElementTree per analizzare i dati e desidero quindi cercare ricorsivamente un elemento.
Secondo this question, posso cercare solo in modo ricorsivo con result.findall()
se result
è di tipo ElementTree
piuttosto che digito Element
.
Ora xml.etree.ElementTree.fromstring()
, utilizzato per analizzare la stringa, restituisce un oggetto Element
, mentre xml.etree.ElementTree.parse()
, usato per analizzare un file, restituisce un oggetto ElementTree
.
La mia domanda è quindi: Come posso analizzare la stringa e ottenere un'istanza ElementTree
? (senza alcuna follia come scrivere un file temporaneo)
voglio solo aggiungi - per chi usa lxml - che in lxml (dove un elemento appartiene sempre a un documento/albero, anche se implicito), puoi usare il metodo getrootttree(). – Steven
Grazie! Design API davvero fastidioso in etree, per avere diversi tipi di output solo in base alla sorgente di input. Davvero confuso :( –
Questo non è molto chiaro nella documentazione. "Fromstring() analizza l'XML da una stringa direttamente in un Elemento, che è l'elemento principale dell'albero analizzato.Altre funzioni di analisi possono creare un ElementTree." – Snorfalorpagus