2011-01-01 6 views

Antwort

31

Dies findet die erste Instanz eines Elements mit dem Namen bar und gibt den Wert des Attributs key zurück.

In [52]: import xml.etree.ElementTree as ET 

In [53]: xml=ET.fromstring(contents) 

In [54]: xml.find('./bar').attrib['key'] 
Out[54]: 'value' 
0

Ihr Ausdruck:

./bar[@key]

Es bedeutet: bar Kinder key Attribut

mit Wenn Sie das Attribut auswählen möchten, verwenden Sie diese relative Ausdruck:

bar/@key 

Es bedeutet: das key Attribut bar Kinder

Natürlich müssen Sie ein vollständig kompatibles XPath Engine wie lxml zu verwenden, in Betracht ziehen.

+1

Nicht sicher, ob es ElementTree oder Google App Engine ist, aber die Verwendung von '@' erhöht SyntaxError ("nicht unterstützte Pfadsyntax (% s)"% op) SyntaxError: nicht unterstützte Pfadsyntax (@) –

+0

@Will Merydith: Bitte lesen Sie meine letzter Satz. Basic 'ElementTree' API ist es nicht eine vollständige Beschwerde XPath-Engine ... –

+0

OK. Ich werde sehen, ob ich ein Modul finden kann, das auf GAE/Py2.5.5 funktioniert. –

Verwandte Themen