variable valor usar una sirve que para como cambiar python xml pickle

valor - módulo para crear una representación de objeto python desde xml



modulo shelve python (7)

Estoy buscando un módulo nativo de python fácil de manejar para crear una representación de objeto python a partir de xml.

Encontré varios módulos a través de google (uno de ellos es XMLObject ) pero no quería probarlos todos.

¿Cuál crees que es la mejor manera de hacer tales cosas?

EDITAR: Me olvidé de mencionar que el XML que me gustaría leer no es generado por mí. Es un archivo XML existente en una estructura de la que no tengo control.



He escuchado que el más fácil es ElementTree , aunque rara vez trabajo con XML y no puedo decir nada por experiencia.


Uso (y me gusta) PyRXP, que crea una tupla construida a partir del documento XML.

El problema principal con una estructura de objeto XML -> python es que no hay ningún análogo de Python para una lista atribuida, es decir, una lista con elementos, que también tiene atributos. Si lo desea, es una lista y un diccionario al mismo tiempo.

Analizo el resultado de PyRXP y creo la lista / diccionario según la estructura; el XML con el que trato es de lista o de atributo, nunca de ambos. (Estoy consumiendo datos de una fuente conocida).


También está el excelente pyxser de biblioteca de terceros para Python.

pyxser significa Servidor de XML de Python y es un objeto de Python para el serializador y el deserializador de XML. En otras palabras, puede convertir un objeto de Python en XML y también, convertir ese XML de nuevo en el objeto de Python original.



Usted dice que quiere una representación de objeto , lo que interpretaría que significa que los nodos se convierten en objetos, y los atributos e hijos del nodo se representan como atributos del objeto (posiblemente de acuerdo con algún Esquema). Esto es lo que hace XMLObject, creo.

Hay algunos paquetes que conozco. 4Suite incluye algunas herramientas para hacer esto, y creo que Amara implementa específicamente esto (construido sobre 4Suite). También puede usar lxml.objectify , que fue inspirado por Amara y gnosis.xml.objectify .

Por supuesto, una tercera opción es, dada una representación concreta del XML (usando ElementTree o lxml), puede construir su propio modelo personalizado alrededor de eso. lxml.html es un ejemplo de eso, extendiendo la interfaz base de lxml con alguna funcionalidad específica de HTML.


Python tiene módulos pickle y cPickle para la serialización de objetos de Python. Ambos módulos proporcionan funcionalidad para serializar / deserializar la jerarquía de objetos de Python para convertir a / desde una secuencia de bytes:

A continuación, se proporciona una interfaz similar: pickle (), unpickle () para la serialización a / desde XML