[Python-es] no consigo grabar xml
Boris Perez Canedo
inf200523 en ucf.edu.cu
Sab Mar 27 15:03:57 CET 2010
quiero conseguir sacar informacion desde un xml y luego
tras modificarla volverla a grabar en el mismo xml...
estoy aprendiendo python y no se nada de xml, asi que supongo que es muy facil para
la mayoria de ustedes.
Bueno les adjunto el ficher py donde estoy haciendo las pruebas y el archivo
xml...
gracias por su ayuda.
Hola,
Mira a ver si esto te sirve
from xml.etree.ElementTree import ElementTree
def
ChangeUserProperty(xmlFile, username, usr_property, value):
tree
= ElementTree()
users = tree.parse(xmlFile)
for user in users:
usuario = user.find("datos_pesonales/nombre")
if usuario <> None:
if usuario.text ==
username:
prop = user.find("datos_pesonales/"+usr_property)
if prop is None:
return "El usuario no tiene el atributo especificado"
else:
print "anterior: ",prop.text
prop.text = value
print "actual: ",prop.text# para que veas que modifico
tree.write(xmlFile)# ahora lo guardas
return "El fichero ha sido modificado"
else:
break
return "No existe el usuario
%s"%username
print
ChangeUserProperty("persona1.xml","Boris","restodireccion","6814A")
Lo tenia de antes y lo modifique para que funcionara con la
estructura de tu xml. Te permite cambiar los atributos de un usuario dado su nombre, el
atributo y el nuevo valor para este atributo.
Saludos.
Boris.
---
La mejor vacuna contra el virus A(H1N1) es la higiene personal
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20100327/9f97eec1/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: persona1.xml
Type: text/xml
Size: 3737 bytes
Desc: no disponible
URL: <http://mail.python.org/pipermail/python-es/attachments/20100327/9f97eec1/attachment.xml>
Más información sobre la lista de distribución Python-es