[Python-es] Duda sobre xml.dom.minidom
Luis Miguel Morillas
morillas en gmail.com
Lun Jul 5 15:13:40 CEST 2010
El día 4 de julio de 2010 08:37, alfonso saavedra <n4e03 en yahoo.es> 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'//dispositive[@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
> Python-es en python.org
> http://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>
Más información sobre la lista de distribución Python-es