[Python-es] no consigo grabar xml
monoBOT
monobot.soft en gmail.com
Dom Mar 28 10:50:33 CEST 2010
muchas gracias a todos!!!
encontré una solución!!!!
por si le sirve a alguien he montado unas funciones para hacer esto mas
facil. Total la mayoría de las veces necesitamos buscar, modificar y luego
guardar cambios desde python a xml.... espero les sirvan.
y pueden visitar mi blog para que vean mis peripecias aprendiendo a
programar :-)
monobotblog.alvarezalonso.es
funciones de búsqueda:
# -*- coding: cp1252 -*-from xml.dom import minidomimport os
###definiendo funciones
def busqueda_xml (arbol, dato, fichero):
arbol_gral = minidom.parse(fichero)
valor = arbol_gral.getElementsByTagName(arbol)[0].getElementsByTagName(dato)[0].childNodes[0].nodeValue
return valor
def busqueda_lista (arbol, lista, fichero):
datos=''
m = lista.split()
for palabra in m:
arbol_gral = minidom.parse(fichero)
valor =
arbol_gral.getElementsByTagName(arbol)[0].getElementsByTagName(palabra)[0].childNodes[0].nodeValue
datos += 'el %s de %s es: ' % (palabra, arbol) + valor +'\n'
print datos # en esta funcion habrá que terminarla dependiendo de
como querramos los datos.
funciones de guardado de atributos y luego otra de guardado de archivo.
def guarda_datos(archivo):
fichero = open(os.path.realpath(archivo), "w")
arbol_gral.writexml(fichero, encoding='iso-8859-1')
fichero.close()
return True
def cambia_attrib(arbol, dato, nuevovalor):
nodo_mod = arbol_gral.getElementsByTagName(arbol)[0].getElementsByTagName(dato)[0]
nodo_mod.childNodes[0].nodeValue = nuevovalor
print nodo_mod.childNodes[0].nodeValue
return True
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100328/353b0490/attachment.html>
Más información sobre la lista de distribución Python-es