Como faço para que o ElementTree do Python imprima em um arquivo XML?

fundo

Estou usando o SQLite para acessar um banco de dados e recuperar as informações desejadas. Estou usando o ElementTree no Python versão 2.6 para criar um arquivo XML com essas informações.

Código
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")
Tentativas

Eu tentei usartree.write("New_Database.xml", "utf-8") no lugar da última linha de código acima, mas não editou o layout do XML - ainda é uma bagunça.

Também decidi mexer e tentei:
tree = minidom.parseString(ET.tostring(root)).toprettyxml(indent = " ")<br> em vez de imprimi-lo no shell do Python, que fornece o erroAttributeError: o objeto 'unicode' não tem atributo 'write'.

Questões

Quando escrevo minha árvore em um arquivo XML na última linha, existe uma maneira de imprimir bastante no arquivo XML como no shell do Python?

Eu posso usartoprettyxml() aqui ou existe uma maneira diferente de fazer isso?

questionAnswers(4)

yourAnswerToTheQuestion