Python y XML

Patricio Olivares polivare en gmail.com
Mar Dic 12 00:32:28 CET 2006


On 12/11/06, Luis Miguel Morillas <morillas en gmail.com> wrote:

> Python2.5 viene con ElementTree, pero no te lo recomiento. Puedes
> probarlo de todas formas.


¿Y por qué no lo recomiendas?
Por lo que he leído de ElementTree y de Amara en artículos y algunas
discusiones cruzadas entre blogs, me queda la impresión de que ElementTree
es la *esperanza* de una nueva API estándar para manejar XML (de segunda
generación, digamos) con una implementación eficiente (vía cElementTree).
Si en algún momento necesitas características más sofisticadas de XML (más
xpath por ejemplo), puedes hacer un upgrade a lxml que sigue *la misma* api
básica de ElementTree más las extensiones correspondientes para lo que no
está implementado.
Otro de los puntos fuertes de lxml es que también se enfoca mucho en la
eficiencia.

En resumen, ventajas de expresividad no le veo muchas a Amara (considerando
el costo en eficiencia que significa). Es, guardando las proporciones, como
python vs ruby. Ruby es levemente más expresivo que Python pero queda muy
por detrás en muchos otros aspectos.

Puede que los de la interfaz estándar sea ilusión mía considerando la
diversidad que existe en Python, pero me encantaría que sucediera. Y creo
que ElementTree y lxml apuntan a eso precisamente, con interfaces bastante
buenas e implementaciones sólidas.

Saludos.




Más información sobre la lista de distribución Python-es