Seite 1 von 1

Python und xml(minidom)

Verfasst: Dienstag 21. September 2010, 20:35
von PNS-Richi
Hallo,

ich hab ein Problem mit XML und Python. "minidom.toprettyxml()" funktioniert nicht ganz, wenn ich "removeChild(Node)" verwende.

Die Datei davor:

Code: Alles auswählen

<?xml version="1.0" ?>

<install_list>
	<package package_id="firefox"/>
	<package package_id="gimp"/>
	<package package_id="nx"/>
</install_list>
Die Datei nach "removeChild(Node)" und "minidom.toprettyxml()":

Code: Alles auswählen

<?xml version="1.0" ?>

<install_list>

	
	

	<package package_id="firefox"/>

	
	

	<package package_id="gimp"/>

	


	<package package_id="nx"/>

</install_list>
Hat wer eine Ahnung warum dies so ist?

Ich weiß es gibt andere Module außer dem mitgelieferten XML Modul. Ich verwende das mitgelieferte als Fallback, falls das andere XML Modul fehlen sollte. Das mitgelieferte XML Modul ignoriert auch DTD(ich weiß, aber gleich die ganze Deklaration löschen?) und entfernt die Deklarationen auch, kann man das irgendwie unterbinden?

Ich verwende Python 2.7.

lg Richi

Re: Python und xml(minidom)

Verfasst: Mittwoch 22. September 2010, 08:02
von lutz.horn
Poste doch bitte auch den Python-Code, den du verwendest. Dann kann man leichter beurteilen, ob Du minidom richtig verwendest.

Re: Python und xml(minidom)

Verfasst: Mittwoch 22. September 2010, 23:37
von PNS-Richi
Hallo,

ich poste morgen eine Kurzversion, welche die Problematik zeigen soll. Vorerst will ich mal auf den Beitrag hier verweisen: http://stackoverflow.com/questions/2210 ... ce-problem

Eine Lösung habe ich, ich entferne einfach leere Textknoten, welche manchmal beim entfernen von "Knoten" entstehen.

lg Richi

Re: Python und xml(minidom)

Verfasst: Donnerstag 23. September 2010, 10:16
von Hyperion
Also bevor man sich an dem Problem tot optimiert: Motte doch minidom ein und setze auf die ElementTree-API (oder ggf. auf das externe Modul lxml).