Как мне получить ElementTree в Python для красивой печати в XML-файл?
Я использую 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 = " ")<br>
вместо печати этого в оболочку Python, которая выдает ошибкуAttributeError: у объекта 'unicode' нет атрибута 'write'.
Когда я записываю свое дерево в файл XML в последней строке, есть ли способ сделать красивую печать в файл XML, как это происходит в оболочке Python?
Могу ли я использоватьtoprettyxml()
здесь или есть другой способ сделать это?