ich bin relativ neu in Python , werde aber ab jetzt wohl öfter vorbeischauen
Ich darf im Praktikum ein Projekt mit XML-Dateien bearbeiten. Leider erhalte ich ein fehlerhaftes Ergebnis bei meinem Versuch...
Hier ein eigenes XML-Beispiel:
Code: Alles auswählen
<teilnehmer>
<daten>
<name>abc</name>
<code>A111</code>
<gruppe>1</gruppe>
</daten>
<daten>
<name>efg</name>
<code>A222</code>
<gruppe>2</gruppe>
</daten>
<daten>
<name>hij</name>
<code>A333</code>
<gruppe>3</gruppe>
</daten>
</teilnehmer>
A111 und A222 sind gesucht und bleiben bestehen. A333 ist unwichtig und somit wird der komplette Datensatz gelöscht, also auch <name>,<gruppe> und anschließend werden die verbliebenen Daten in eine neue Datei geschrieben.
Ich habe es wie folgt probiert:
Code: Alles auswählen
import xml.etree.ElementTree as ET
xmlfile = "teilnehmer.xml"
tree = ET.parse(xmlfile)
root = tree.getroot()
for daten in root.findall('daten'):
code = str(daten.find('code').text)
if code != ("A111","A222"):
root.remove(daten)
tree.write('teilnehmerneu.xml')
Die Datei teilnehmerneu.xml ist leider komplett leer nach dem Vorgang. Hier steht nur <teilnehmer> </teilnehmer>.
Das Ergebnis sollte aber sein:
Code: Alles auswählen
<teilnehmer>
<daten>
<name>abc</name>
<code>A111</code>
<gruppe>1</gruppe>
</daten>
<daten>
<name>efg</name>
<code>A222</code>
<gruppe>2</gruppe>
</daten>
</teilnehmer>
Vielleicht kann mir hier ja jemand weiterhelfen.
Danke!
VG
Hawky