Seite 1 von 1

Erste Zeile in xml-Datei bearbeiten

Verfasst: Freitag 21. Juli 2006, 11:21
von Lambert
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.

Re: Erste Zeile in xml-Datei bearbeiten

Verfasst: Freitag 21. Juli 2006, 11:31
von gerold
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
:-)

Verfasst: Samstag 22. Juli 2006, 10:37
von Joghurt
Bedenke, dass deine Datei ohne die "<?xml"-Zeile kein gültiges XML ist.

Verfasst: Samstag 22. Juli 2006, 13:25
von BlackJack
Das stimmt nicht, die XML Deklaration ist nicht zwingend vorgeschrieben.

Verfasst: Montag 24. Juli 2006, 19:47
von Joghurt
Tatsache! Hätte mal die Spezifikation genauer lesen sollen...