2011-01-01 13 views

Odpowiedz

31

To znajdzie pierwszą instancję elementu o nazwie bar i zwróci wartość atrybutu key.

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

wyrażenia:

./bar[@key]

To znaczy: bar dzieci posiadające key atrybut

Jeśli chcesz wybrać atrybut, należy użyć tego względną ekspresję:

bar/@key 

To oznacza: atrybutem bar dzieci

Oczywiście key, należy rozważyć użycie silnika XPath w pełni zgodny jak lxml.

+1

Nie wiem, czy to ElementTree, czy Google App Engine, ale użycie '@' podnosi SyntaxError ("nieobsługiwana składnia ścieżki (% s)"% op) SyntaxError: nieobsługiwana składnia ścieżki (@) –

+0

@Will Merydith: Proszę, przeczytaj mój ostatnie zdanie. Basic 'ElementTree' API to nie jest narzekający silnik XPath ... –

+0

OK. Zobaczę, czy mogę znaleźć moduł, który będzie działał na GAE/Py2.5.5. –

Powiązane problemy