Seite 1 von 1

Elementtree erzeugtes XML verarbeiten

Verfasst: Samstag 22. März 2008, 16:58
von danims
Hallo zusammen

Ich erzeuge mit ElementTree ein einfaches XML Dokument und möchte mit diesem während der Laufzeit umgehen, d.h. brauche das erzeugte ElementTree Objekt als String. Leider hat bisher nichts funktioniert. Hier erstmal, was ich gemacht hab (ziemlich einfach :-)):

Code: Alles auswählen

#!/usr/bin/python2

import xml.etree.ElementTree as ET

data = {}
data['vorname'] = 'Max'
data['name'] = 'Mustermann'

docheader = '<?xml version="1.0" encoding="ISO-8859-1"?>'
	
# XML Root node
root = ET.Element('adressbuch')

vorname = ET.SubElement(root, 'vorname')
vorname.text = str(data['vorname'])

name = ET.SubElement(root, 'name')
name.text = str(data['name'])

tree = ET.ElementTree(root)
ET.dump(tree)
Das ergibt mir also dann:

Code: Alles auswählen

<adressbuch><vorname>Max</vorname><name>Mustermann</name></adressbuch>
Soweit so gut, alles was ich brauche.. Aber die dump Methode ist gemäss Dokumentation nur für Debug-Zwecke. Mit der write-Methode lässt sich das XML sauber als Datei abspeichern, aber warum krieg ich das nicht irgendwie als String?

Kann mir jemand bestätigen, dass ich doch die dump Funktion nutzen soll oder gibt es einen besseren Weg?

Danke und Gruss
Daniel[/code]

Verfasst: Samstag 22. März 2008, 17:12
von BlackJack
Wie wär's mit der `tostring()`-Funktion im `ElementTree`-Modul?

[gelöst] Elementtree erzeugtes XML verarbeiten

Verfasst: Donnerstag 27. März 2008, 12:33
von danims
Super, danke!

Ich habe mir die Elementtree Doku angeschaut und diese Funktion natürlich gesehen und immer wieder getestet, aber falsch rum :-)

Gruss
Daniel