Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

Información acerca de pyxser

4 de octubre de 2014

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

#1

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

5 octubre 2014, 22:05