nachdem ich euren Hinweis/Rat mit der Lib lxml aufgenommen habe, habe ich mein Programm versucht umzuschreiben. Leider komme ich da nicht wie gewünscht mit klar. Ich schätze ich habe wieder nur eine blöden Fehler. Ich bin wie immer für gerechtfertigte Kritik dankbar!
Zu Erklärung: Ich habe eine XML Datei und muss die Daten einlesen. Jede Person wird als Objekt gespeichert.
Code: Alles auswählen
from lxml import etree
class cPersonen:
def __init__(self, vorname, nachname):
self.vorname = vorname
self.nachname = nachname
tree = etree.parse("Test.xml")
root = tree.getroot()
all={}
for schueler in root.iter('schueler'):
nachname = None
vorname = None
for person in schueler.iter('person'):
for rufname in person.iter('rufname'):
vorname = rufname.text
for nachname in person.iter('nachname'):
nachname = nachname.text
break
all[schueler]=cPersonen( vorname, nachname)
Code: Alles auswählen
<daten>
<schueler>
<person>
<rufname>Max</rufname>
<vorname></vorname>
<vornamen>Max</vornamen>
<nachname>Mustermann</nachname>
<adressen>
<adresse>
<ort>
<name>Entenhausen</name>
<plz>00000</plz>
</ort>
<strasse>Linden 1</strasse>
</adresse>
</adressen>
<bild>
<text></text>
</bild>
<kontakte>
<kontakt typ="kaTelefon">
<text>012345678</text>
</kontakt>
<kontakt typ="kaTelefon">
<text>JA: 065646464</text>
</kontakt>
<kontakt typ="kaEMail">
<text>JA:Duck@China.de</text>
</kontakt>
</kontakte>
</person>
<verantwortliche>
<verantwortlicher>
<person>
<rufname>Mix</rufname>
<vorname></vorname>
<vornamen></vornamen>
<nachname>Mustermann</nachname>
<geburtsdatum>1982-01-01</geburtsdatum>
<geschlecht>gWeiblich</geschlecht>
<adressen>
<adresse>
<hauptwohnsitz>true</hauptwohnsitz>
<ort>
<name>Entenhause</name>
<plz>00000</plz>
</ort>
<strasse>Linden1</strasse>
</adresse>
</adressen>
<kontakte/>
</person>
</verantwortlicher>
</verantwortliche>
</schueler>
</daten>
Ich bin -wie gesagt- dankbar für alle Hinweise! Vielen dank schon mal für eure Antworten!
kruphi
