[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