
So, jetzt genug gealbert und zurück zu den ganz wichtigen Dingen:
-> etree !!
Ich habe bisher etree nur zum erstellen von XML verwendet. Habe mit BS HTML geparsed und definierte Elemente in eine XML gejagt (siehe irgend ein anderen Noob-Thread von mir irgendwo hier).
So, wie finde ich etwas ganz speizielles mit etree:
Ich habe als Beispiel
[Codebox=xml file=Unbenannt.xml]
<stadtliste>
<stadt>
<name>München</name>
<jahr aktiv="1">2015</jahr>
</stadt>
<stadt>
<name>Stuttgart</name>
<jahr aktiv="0">2015</jahr>
</stadt>
<stadt>
<name>Frankfurt</name>
<jahr aktiv="0">2014</jahr>
<jahr aktiv="1">2015</jahr>
</stadt>
<stadt>
<name>Köln</name>
<jahr aktiv="1">2014</jahr>
<jahr aktiv="1">2015</jahr>
</stadt>
</stadtliste>
[/Codebox]
Jetzt will ich alle Parent-Nodes selektieren die im Jahr-Tag das Atribut aktiv=1 haben.
Später dann (nur zur Vorwarnung denn nach Eins kommt erst Zwei)
will ich die selektierten Nodes nochmals durchsuchen um alle aktiv=1 zu sammeln...
Ich habe es schon probiert mit:
Code: Alles auswählen
for stadt in root.findall("..//jahr[@aktiv='1']"):
print(stadt.find('name').text)