Tengo un código python para generar texto XML con xml.dom.minidom. En este momento, lo ejecuto desde la terminal y me da como resultado un XML estructurado. Me gustaría también generar un archivo XML y guardarlo en mi disco. ¿Cómo podría hacerse eso?¿Cómo guardar un archivo XML en un disco con python?
Esto es lo que tengo:
import xml
from xml.dom.minidom import Document
import copy
class dict2xml(object):
doc = Document()
def __init__(self, structure):
if len(structure) == 1:
rootName = str(structure.keys()[0])
self.root = self.doc.createElement(rootName)
self.doc.appendChild(self.root)
self.build(self.root, structure[rootName])
def build(self, father, structure):
if type(structure) == dict:
for k in structure:
tag = self.doc.createElement(k)
father.appendChild(tag)
self.build(tag, structure[k])
elif type(structure) == list:
grandFather = father.parentNode
tagName = father.tagName
# grandFather.removeChild(father)
for l in structure:
tag = self.doc.createElement(tagName.rstrip('s'))
self.build(tag, l)
father.appendChild(tag)
else:
data = str(structure)
tag = self.doc.createTextNode(data)
father.appendChild(tag)
def display(self):
print self.doc.toprettyxml(indent=" ")
Esto sólo genera el XML. ¿Cómo podría también guardarlo como un archivo en mi escritorio?
Aún no puede hacerlo funcionar –
¿Qué hizo exactamente? La pregunta editada solo incluye código para imprimir bastante el XML en la consola. No incluye el intento de utilizar 'writexml()', por lo que no podemos ayudarlo a solucionarlo. Muestre cómo intentó usar 'writexml()' y cómo no funcionó (¿hubo un mensaje de error? o ¿no funcionó como pretendía?) –
Abrir en modo "wb" no funcionó para mí, sin embargo, solo "w" funcionó –