Hydrano
Lieutenant
- Registriert
- März 2008
- Beiträge
- 942
Hallo,
Mein Problem ist, dass ich eine XML Datei schreiben möchte in der ein bestimmtes Element auch ein Attribut erhält.
Die XML-Datei soll in etwa wie folgt aussehen
Mein Code schaut wie folgt aus (gekürzt um es auf das Wesentliche zu beschränken)
Die Datei und die Elemente lassen sich Problemlos schreiben, doch das Attribut "Nummer" lässt sich nicht einfügen.
Als Fehler erhalte ich
Ohne die Zeile mit dem setAttribute lässt sich die Funktion Feherlfrei ausführen.
Mein Problem ist, dass ich eine XML Datei schreiben möchte in der ein bestimmtes Element auch ein Attribut erhält.
Die XML-Datei soll in etwa wie folgt aussehen
Code:
<Termine>
<Termin Nummer='1'>
<Terminname>xyz</Terminname>
[...]
</Termin>
</Termine>
Mein Code schaut wie folgt aus (gekürzt um es auf das Wesentliche zu beschränken)
Code:
def SetzeNeuenTermin(self, benutzer, terminname, termindatum, terminstartzeit, terminendzeit, terminbeschreibung, terminstatus, terminsichtbarfuer):
tag_termine = dom.Element("Termine")
tag_termin = dom.Element("Termin")
tag_termin.setAttribute("Nummer", self.GibAnzTermine() + 1)
tag_termine.appendChild(tag_termin)
Die Datei und die Elemente lassen sich Problemlos schreiben, doch das Attribut "Nummer" lässt sich nicht einfügen.
Als Fehler erhalte ich
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python33\lib\tkinter\__init__.py", line 1442, in __call__
return self.func(*args)
File "C:\Users\Tim\workspace\Terminplaner\src\GUI_NeuerTermin.py", line 23, in defAbsenden
xml.SetzeNeuenTermin(terminBenutzer, terminname, termindatum, terminstartzeit, terminendzeit, terminbeschreibung, terminstatus, terminsichtbarfuer)
File "C:\Users\Tim\workspace\Terminplaner\src\XML.py", line 89, in SetzeNeuenTermin
tag_termin.setAttribute('Nummer', self.GibAnzTermine() + 1)
File "C:\Python33\lib\xml\dom\minidom.py", line 745, in setAttribute
attr.ownerDocument = self.ownerDocument
AttributeError: ownerDocument
Ohne die Zeile mit dem setAttribute lässt sich die Funktion Feherlfrei ausführen.
Zuletzt bearbeitet: