Necesito generar el código XML de unas instancias de clase que tengo en Python. Los atributos de estas instancias están como diccionarios y por ende necesito hacer eficaz la conversión.
Por este medio me comentaron de pyxser que sería una buena opción pero la verdad no he encontrado mucha información al respecto ni ejemplos con los que pueda entender su funcionamiento. Por lo tanto quisiera saber de qué forma aplico esta herramienta en mi caso o dónde puedo encontrar vídeos o ejemplos para poder entenderla.
Respuestas
Imagina que tienes la siguiente clase Python:
class TestClass(object): a = None b = None c = None def __init__(self, a, b, c): self.a = a self.b = b self.c = c
Para serializarla en formato XML, importa el paquete pyxser
y simplemente ejecuta el método serialize()
sobre la instancia de la clase:
import pyxser as pyx instancia = TestClass("var_a", "var_b", "var_c") ser = pyx.serialize(obj=instancia, enc="utf-8")
Si ejecutas el código anterior, el resultado sería el siguiente documento XML:
<?xml version="1.0" encoding="utf-8"?> <pyxs:obj xmlns:pyxs="http://projects.coder.cl/pyxser/model/" version="1.0" type="TestClass" module="__main__" objid="id3074097420"> <pyxs:prop type="str" name="a">var_a</pyxs:prop> <pyxs:prop type="str" name="c">var_c</pyxs:prop> <pyxs:prop type="str" name="b">var_b</pyxs:prop> </pyxs:obj>
Este ejemplo lo he obtenido del repositorio de pyxser en GitHub. Como documentación adicional, aquí tienes un paper que explica en detalle la serialización de pyxser.
@javiereguiluz