Elementtree erzeugtes XML verarbeiten

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
Benutzeravatar
danims
User
Beiträge: 29
Registriert: Montag 19. Februar 2007, 20:23
Wohnort: Bern, Schweiz

Samstag 22. März 2008, 16:58

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]
BlackJack

Samstag 22. März 2008, 17:12

Wie wär's mit der `tostring()`-Funktion im `ElementTree`-Modul?
Benutzeravatar
danims
User
Beiträge: 29
Registriert: Montag 19. Februar 2007, 20:23
Wohnort: Bern, Schweiz

Donnerstag 27. März 2008, 12:33

Super, danke!

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

Gruss
Daniel
Antworten