Python XML Attribute mit minidom setzen

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

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:
Zurück
Oben