ich würde gerne ein existierendes XML-File einlesen und gewisse Inhalte verändern.
Konkret habe ich zurzeit ein XML-File gegeben, das folgende Struktur hat:
Nun möchte ich überprüfen, ob Frau Müller bereits den Beruf "Lehrerin" hat. Falls nein, soll der Beruf und die Position, an der der Beruf gefunden wurde, hinzugefügt werden.<ner><persons><person id="1">
<address>Fr.</address>
<titles/>
<firstname>Mary</firstname>
<lastname>Müller</lastname>
<gender>F</gender>
<profession/>
<references>
<reference>
<positions>
<position>68-590-1</position>
<position>68-590-2</position>
</positions>
<positions>
<position>68-590-6</position>
<position>68-590-7</position>
</positions>
</reference>
</references>
</person>
</persons>
</ner>
Falls der Beruf schon da ist, aber noch nicht in positions, soll einfach die Position hinzugefügt werden.
Falls alles schon da ist, muss nichts verändert werden.
Den Beruf und die Position extrahiere ich aus einem anderen File - wir können also annehmen, dass diese Angaben vorhanden sind.
Bis jetzt habe ich es mit minidom probiert:
Code: Alles auswählen
from xml.dom import minidom
doc = minidom.parse('SAC-Jahrbuch_1895_mul-ner.xml')
person = doc.getElementsByTagName('person')
lastnames = doc.getElementsByTagName('lastname')
positions = doc.getElementsByTagName('position')
professions = doc.getElementsByTagName('profession')
for ln in lastnames:
for pos in positions:
if ln.firstChild.nodeValue == u"Müller" and pos.firstChild.nodeValue == "68-590-2":
print "right person"
Danke für jeden Hinweis.