¿Algo similar al SimpleXML de PHP en Python?
Pregunta
¿Hay alguna manera en Python para manejar archivos XML similar a la forma en que lo hace la extensión SimpleXML de PHP?
Idealmente, solo quiero poder acceder a ciertos datos XML desde un objeto de lista.
Solución
Hay una larga lista de bibliotecas asociadas con el procesamiento XML en el Python wiki . Tenga en cuenta que algunos de ellos están incluidos en la biblioteca estándar. La mayoría de ellos harán lo que estás buscando:
para acceder a ciertos datos XML desde un objeto de lista
que es un poco vago, y quizás algún caso de uso más concreto podría reducir esa lista para usted.
Otros consejos
Es posible que desee probar xml.etree.ElementTree It proporciona muchas formas fáciles de acceder a leer xml y crear nuevos xml.
O mejor aún, use lxml.etree que proporciona formas aún más convenientes de acceder a los nodos (como xpath)
Puede que te estés refiriendo a algo como esto:
http://github.com/joestump/python-simplexml
No lo he usado yo mismo, pero también estaba buscando algo como simplexml en PHP y apareció este enlace.
lxml.objectify hace exactamente lo que quiere
In [1]: from lxml import objectify
In [2]: x = objectify.fromstring("""<response><version>1.2</version><amount>1.01</amount><currency>USD</currency></response>""")
In [3]: x.version
Out[3]: 1.2
In [4]: x.amount
Out[4]: 1.01
In [5]: x.currency
Out[5]: 'USD'