Фон
Я использую SQLite для доступа к базе данных и получения желаемой информации. Я использую ElementTree в Python версии 2.6 для создания XML файла с этой информацией.
Код
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 problem #######
tree.write("New_Database.xml")
Попытки
Я попытался использовать tree.write("New_Database.xml", "utf-8")
вместо последней строки кода выше, но он вообще не редактировал XML-макет - это все еще беспорядочный беспорядок.
Я также решил пообщаться и попытался сделать: tree = minidom.parseString(ET.tostring(root)).toprettyxml(indent = " ")
вместо того, чтобы печатать это в оболочке Python, которая дает ошибку Объект AttributeError: 'unicode' не имеет атрибута 'write'.
Вопросы
Когда я пишу свое дерево в файл XML в последней строке, есть ли способ печатать в XML файл так же, как в оболочке Python?
Могу ли я использовать toprettyxml()
здесь или есть ли другой способ сделать это?