[Python-es] Recorrer fichero XML con Python

Ricardo Cárdenes ricardo.cardenes en gmail.com
Mar Dic 20 10:44:59 CET 2011


Dado que está usando PyQt4, puede ceñirse al paquete y usar el módulo
de XML que le ofrece, en lugar de añadir dependencias nuevas:

  http://developer.qt.nokia.com/doc/qt-4.8/xml-processing.html

Los ejemplos de la documentación de Qt4 están traducidos a Python, así
que puede usarlos como referencia.

2011/12/20 Nekmo <contacto en nekmo.com>:
> Amara no lo conocía, yo el que uso es lxml, que además es compatible
> con Python3 (el cual uso mucho).
>
> Un cordial saludo:
> -- Nekmo.
>
> Sitio web: http://nekmo.com
> Dirección de contacto: contacto en nekmo.com
> XMPP/Jabber: contacto en nekmo.com
> Identi.ca: http://identi.ca/nekmo
> Diaspora: Nekmo
> Google+: Nekmo Com
>
>
>
> El día 20 de diciembre de 2011 07:15, Luis Miguel Morillas
> <morillas en gmail.com> escribió:
>> El 19 de diciembre de 2011 21:56, Carlos Maykel López González
>> <carlos.lopez en etecsa.cu> escribió:
>>>
>>> Hola a todos:
>>> Les escribo pues me encargaron una aplicación con Python + QT4 y como soporte para los datos XML. la aplicación es para consultar los datos que están en el fichero XML. y leido y visto un sin numero de ejemplos pero no logro concretar la idea de como realizar esta consulta al fichero. aquí les envió un fragmento de mi xml.
>>>
>>
>> Necesitas un parser de xml [1]  Yo uso Amara [2] por su eficiencia y
>> porque genera una estructura de objetos python a partir de un doc xml.
>> Según lo que tengas que hacer (extracción de datos, validación,
>> proceso xslt, ...) tendrás que elegir uno u otro.
>>
>>
>> [1] http://wiki.python.org/moin/PythonXml
>> [2] http://wiki.xml3k.org/Amara
>>
>>
>> -- lm
>>
>>
>>
>>> <ROW>
>>>   <UNIDAD_NEGOCIO>33</UNIDAD_NEGOCIO>
>>>   <FILIAL>12</FILIAL>
>>>   <UNIDAD_BASICA>1212</UNIDAD_BASICA>
>>>   <CICLO>R5</CICLO>
>>>   <OFICINA>662</OFICINA>
>>>   <SECTOR>PT</SECTOR>
>>>   <ESTADO>A</ESTADO>
>>>   <AGRUPACION>12100053785</AGRUPACION>
>>>   <CUENTA/>
>>>   <NO_FACTURA>1662CDEDSI</NO_FACTURA>
>>>   <NOMBRE>Maria Perez Perez</NOMBRE>
>>>   <SERVICIO>########</SERVICIO>
>>>   <ACTIVO>A</ACTIVO>
>>>   <COD_MONEDA>CUP</COD_MONEDA>
>>>   <CUOTA>6.25</CUOTA>
>>>   <LDN>15.45</LDN>
>>>   <LDI>0.00</LDI>
>>>   <LOCAL>0.00</LOCAL>
>>>   <OTROS>0.00</OTROS>
>>>   <IMPUESTO>0.00</IMPUESTO>
>>>   <COMISION>0.00</COMISION>
>>>   <FACTURADO>21.70</FACTURADO>
>>>   <ATRASOS/>
>>>   <TOTAL>21.70</TOTAL>
>>>  </ROW>
>>>  <ROW>
>>>   <UNIDAD_NEGOCIO>33</UNIDAD_NEGOCIO>
>>>   <FILIAL>12</FILIAL>
>>>   <UNIDAD_BASICA>1212</UNIDAD_BASICA>
>>>   <CICLO>R5</CICLO>
>>>   <OFICINA>662</OFICINA>
>>>   <SECTOR>PT</SECTOR>
>>>   <ESTADO>A</ESTADO>
>>>   <AGRUPACION>1200111004550</AGRUPACION>
>>>   <CUENTA>492175</CUENTA>
>>>   <NO_FACTURA>16DD2CD0FY1</NO_FACTURA>
>>>   <NOMBRE>Roberto Lopez Regueiro</NOMBRE>
>>>   <SERVICIO>########</SERVICIO>
>>>   <ACTIVO>A</ACTIVO>
>>>   <COD_MONEDA>CUP</COD_MONEDA>
>>>   <CUOTA>7.25</CUOTA>
>>>   <LDN>5.85</LDN>
>>>   <LDI>0.00</LDI>
>>>   <LOCAL>0.00</LOCAL>
>>>   <OTROS>8.00</OTROS>
>>>   <IMPUESTO>0.00</IMPUESTO>
>>>   <COMISION>0.00</COMISION>
>>>   <FACTURADO>21.10</FACTURADO>
>>>   <ATRASOS/>
>>>   <TOTAL>21.10</TOTAL>
>>>  </ROW>
>>> --
>>>
>>> ---
>>> This message was processed by Kaspersky Mail Gateway 5.6.28/RELEASE running at host imx3.etecsa.cu
>>> Visit our web-site: <http://www.kaspersky.com>, <http://www.viruslist.com>
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> http://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> http://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
> _______________________________________________
> 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