[Python-de] XML und encoding mit xml.dom.minidom

Andreas Jung lists at andreas-jung.com
Fre Aug 19 19:27:15 CEST 2005



--On 19. August 2005 17:10:11 +0200 "Diez B. Roggisch" <deets at web.de> wrote:

> Am Friday, 19. August 2005 15:47 schrieb "Sebastian \"Marduk\" Pölsterl":
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Hallo!
>>
>> Ich bin gerade dabei mit Hilfe von xml.dom.minidom einen XML Baum zu
>> erstellen. Soweit so gut. Nur weiß ich noch nicht wie ich das encoding
>> in den <?xml ..> tag am Anfang bringe. Außerdem habe ich noch keine
>> Möglichkeit gefunden den Doctype irgendwo anzugeben.
>>
>
> DOM ist nicht dafuer gemacht dokumente zu schreiben - daher fehlt sowas.

Das ist Unsinn.  DOM ist gerade fĂŒr die Manipulation von XML Dokumenten 
gedacht. Schliesslich gibt es hierfĂŒr entsprechende API Methoden. Wie 
sonst willst Du ein XML Dokument ĂŒber eine API manipulieren? Über SAX? Zu 
dem Problem: es gibt natĂŒrlich auch in Minidom einen Document() Knoten, 
den man als erstes anlegt und dann die Elemente dran klatscht:

from xml.dom.minidom  import Document

doc = Document()
node1 = doc.createElement('foobar')
doc.appendChild(node)

print doc.toxml(encoding='utf-8')

Man beachte auch, dass der 'encoding'  Parameter explizit gesetzt werden 
muß, wenn man das Encoding in der PrĂ€ambel haben möchte. Ansonsten wird 
es ausgelassen und es gilt der allgemeine Default Utf8.

-aj





-------------- nächster Teil --------------
Ein Dateianhang mit BinÀrdaten wurde abgetrennt...
Dateiname   : nicht verfĂŒgbar
Dateityp    : application/pgp-signature
DateigrĂ¶ĂŸe  : 186 bytes
Beschreibung: nicht verfĂŒgbar
URL         : http://starship.python.net/pipermail/python-de/attachments/20050819/1e7415b4/attachment.pgp