Erste Zeile in xml-Datei bearbeiten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Lambert
User
Beiträge: 40
Registriert: Montag 20. Februar 2006, 09:32

Hallo zusammen,
Ich hab folgendes Problem. Mit diesem Code:

Code: Alles auswählen

    def get_a_document(self):
        self.doc=Document()
        Element = self.doc.createElement("rrs2_Program")
        self.doc.appendChild(Element)
        Element.setAttribute('version' , '3.1')        
        return self.doc, Element
lasse ich mir eine *.xml-Datei erstellen. Unglücklicherweise ist der erste Eintrag in dieser Datei "<?xml version="1.0" ?>". Das will ich aber nicht haben. Ich sehe aber auch kein Attribut wie ich das umstellen kann. Ich würde ganz gerne das Element was ich oben erzeuge stattdessen da rein schreiben.
P.S.: Ich benutze minidom. Das geht nicht anderes weil meine Python Version in ein Framework eingebunden ist.
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Lambert hat geschrieben:Unglücklicherweise ist der erste Eintrag in dieser Datei "<?xml version="1.0" ?>". Das will ich aber nicht haben.
Hi Lambert!

1.) ``<?xml version="1.0" ?>`` ist Standard und muss von jedem XML-Reader gelesen werden können, ohne dass es Probleme damit gibt.

2.) Wenn du diese Zeile nicht haben willst, dann mach es nicht zu kompliziert. --> lösche sie einfach **nachher** raus.

Code: Alles auswählen

f = file("xmlfile.xml", "rU")
xml = f.readlines()
f.close()
f = file("xmlfile.xml", "w")
f.writelines(xml[1:])
f.close()
Bei einer großen XML-Datei musst du natürlich speicherschonender Programmieren. ;-)

mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Bedenke, dass deine Datei ohne die "<?xml"-Zeile kein gültiges XML ist.
BlackJack

Das stimmt nicht, die XML Deklaration ist nicht zwingend vorgeschrieben.
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Tatsache! Hätte mal die Spezifikation genauer lesen sollen...
Antworten