Questo è il mio dati XMLCome recuperare tutti i nodi figli in una singola query utilizzando lxml & XPATH
<location>
<city>
<name> New York</name>
<type>non-capital</type>
</city>
<city>
<name> London</name>
<type>capital</type>
</city>
</location>
utilizzando lxml & pitone
from lxml import etree as ET
parser = ET.XMLParser(recover=True)
tree = ET.fromstring(xml_data,parser)
print(tree.xpath('//city//name/text() | //city//type/text()'))
Le opere di codice di cui sopra, ma mi piacerebbe un descrizione nested-array come [['New York','non-capital'],['London','capital']]
Quale sarebbe la query xpath accurata/combinazione di query/cicli per ottenere quanto sopra?
'[[c.text per c n] per n in tree.xpath ('// city')] 'funziona bene, cosa fa c.tail? – wolfgang
È solo la mia abitudine che ho, ma nel tuo caso non è necessario. lxml può avere testo normale e il cosiddetto tail tail. Altro [here] (http://lxml.de/tutorial.html) – Marcin
Continua a ricevere questo errore: ValueError: le stringhe Unicode con la dichiarazione di codifica non sono supportate. Si prega di utilizzare byte di input o frammenti XML senza dichiarazione. –