lxml
Verfasst: Mittwoch 13. November 2013, 12:35
Guten Tag,
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.
Ich muss immer eine bestimmte Stelle in der XMl ansprechen. Ist diese Möglichkeit die Beste dafür oder gibt es eine Schlankere Art diese zu erstellen? Vor allem darf ich die Daten von den Mitgliedern und Mentoren nicht durcheinander bekommen.
Ich bin -wie gesagt- dankbar für alle Hinweise! Vielen dank schon mal für eure Antworten!
kruphi
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