Wie kann ich Pythons ElementTree dazu bringen, hübsch in eine XML-Datei zu drucken?Python

Python-Programme
Anonymous
 Wie kann ich Pythons ElementTree dazu bringen, hübsch in eine XML-Datei zu drucken?

Post by Anonymous »

Hintergrund
Ich verwende SQLite, um auf eine Datenbank zuzugreifen und die gewünschten Informationen abzurufen. Ich verwende ElementTree in Python Version 2.6, um eine XML-Datei mit diesen Informationen zu erstellen.

Code

Code: Select all

import sqlite3
import xml.etree.ElementTree as ET

# NOTE: Omitted code where I acccess the database,
# pull data, and add elements to the tree

tree = ET.ElementTree(root)

# Pretty printing to Python shell for testing purposes
from xml.dom import minidom
print minidom.parseString(ET.tostring(root)).toprettyxml(indent = "   ")

#######  Here lies my [url=viewtopic.php?t=26065]problem[/url]  #######
tree.write("New_Database.xml")
Versuche

Ich habe versucht, tree.write("New_Database.xml", "utf-8") anstelle der letzten Codezeile oben zu verwenden, aber dadurch wurde das XML-Layout überhaupt nicht bearbeitet – es ist immer noch ein Durcheinander.

Ich beschloss auch, herumzuspielen und versuchte Folgendes:

Code: Select all

tree = minidom.parseString(ET.tostring(root)).toprettyxml(indent = "   ")
anstatt dies in die Python-Shell zu drucken, was den Fehler AttributeError: 'unicode' object has no attribute 'write'[/b] ausgibt.

Fragen

Wenn ich meinen Baum in der letzten Zeile in eine XML-Datei schreibe, gibt es eine Möglichkeit, die XML-Datei so zu drucken, wie es in der Python-Shell der Fall ist?

Kann ich verwenden toprettyxml() hier oder gibt es eine andere Möglichkeit, dies zu tun?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post