El día 4 de julio de 2010 08:37, alfonso saavedra <[email protected]> escribió:
> Buenos dias:
> Tengo un problema al procesar un archivo XML.
> Mi XML es este:
> <?xml version='1.0'?>
> <resolutions>
> <dispositive id='1'>
> <res>640x480</res>
> <res>1024x768</res>
> <res>1440x900</res>
> </dispositive>
> <dispositive id='2'>
> <res>128x128</res>
> <res>176x220</res>
> </dispositive>
> </resolutions>
>
> Lo que necesito es que me saque por pantalla solamente, por ejemplo, lo que
> esta dentro de <dispositive id='1'>
> E estado Googleando y encontré
> http://binsd.wordpress.com/2008/09/08/xml-en-python/ , el cual e intentado
> modificar para que haga lo que quiero
> Gracias de antemano
>
>
Qué quieres exactamente? Yo utilizo Amara [1]
Suponiendo que XML sea el doc que quieres parsear:
>>> from amara import bindery
>>> doc = bindery.parse(XML)
1. Solución con xpath:
>>> dispositivo = doc.xml_select(u'//dispositi...@id="1"]')[0]
>>> dispositivo.xml_write()
<dispositive id="1">
<res>640x480</res>
<res>1024x768</res>
<res>1440x900</res>
</dispositive>
>>> for r in dispositivo.res:
print r
640x480
1024x768
1440x900
2. Forma más pythonica:
>>> for d in doc.resolutions.dispositive:
if d.id == "1":
d.xml_write()
<dispositive id="1">
<res>640x480</res>
<res>1024x768</res>
<res>1440x900</res>
</dispositive>
[1] http://wiki.xml3k.org/Amara2
-- lm
> _______________________________________________
> Python-es mailing list
> [email protected]
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
_______________________________________________
Python-es mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/