Soy nuevo con Python y necesito implementar una interfaz para una herramienta de contabilidad. Recibí algunos archivos XSD que describen la interfaz.
¿Cuál es la forma más fácil de generar el XML según el XSD? ¿Hay algún módulo que pueda usar?
¿Tengo que crear el XML yo solo y puedo usar el XSD solo para verificarlo? ¿Cómo procedo mejor?
Creo que generateDS es la solución a su problema. A partir del capítulo 5, el comando
python generateDS.py -o people.py -s peoplesubs.py people.xsdlee el archivo XSD y crea varias clases y subclases. Genera muchas estructuras de datos y getters y setters para acceder y usar datos :) Si hay algún archivo XML que cumpla con ese XSD, se puede leer de inmediato usando
import people rootObject = people.parse('people.xml')dentro del código. Se proporciona más información en el capítulo 12. Las clases mencionadas anteriormente también proporcionan métodos para exportar datos en formato XML. El nivel de documentación es bueno y se recomienda encarecidamente utilizarlo para cualquier proyecto futuro.
Hay algunos proyectos en github que hacen eso usando la biblioteca xmlschema, por ejemplo, fortesp/xsd2xml o miaozn/xsd2xml (python2)
Por ejemplo con el primero:
xmlgenerator = XMLGenerator('resources/pain.001.001.09.xsd', True, DataFacet()) print(xmlgenerator.execute()) # Output to console xmlgenerator.write('filename.xml') # Output to fileDesafortunadamente, ninguno de estos está empaquetado correctamente.