python xml xslt converter

¿Cómo transformar un archivo XML usando XSLT en Python?



converter (3)

La mejor manera es hacerlo usando lxml, pero solo es compatible con XSLT 1

import os import lxml.etree as ET inputpath = "D://temp//" xsltfile = "D://temp//test.xsl" outpath = "D://output" for dirpath, dirnames, filenames in os.walk(inputpath): for filename in filenames: if filename.endswith((''.xml'', ''.txt'')): dom = ET.parse(inputpath + filename) xslt = ET.parse(xsltfile) transform = ET.XSLT(xslt) newdom = transform(dom) infile = unicode((ET.tostring(newdom, pretty_print=True))) outfile = open(outpath + "//" + filename, ''a'') outfile.write(infile)

para usar XSLT 2 puedes verificar las opciones desde Usar saxon con python

¡Buen día! Necesita convertir xml usando xslt en Python. Tengo un código de muestra en php.

¿Cómo implementar esto en Python o dónde encontrar algo similar? ¡Gracias!

$xmlFileName = dirname(__FILE__)."example.fb2"; $xml = new DOMDocument(); $xml->load($xmlFileName); $xslFileName = dirname(__FILE__)."example.xsl"; $xsl = new DOMDocument; $xsl->load($xslFileName); // Configure the transformer $proc = new XSLTProcessor(); $proc->importStyleSheet($xsl); // attach the xsl rules echo $proc->transformToXML($xml);


Usando lxml ,

import lxml.etree as ET dom = ET.parse(xml_filename) xslt = ET.parse(xsl_filename) transform = ET.XSLT(xslt) newdom = transform(dom) print(ET.tostring(newdom, pretty_print=True))


lxml es una biblioteca de alto rendimiento ampliamente utilizada para el procesamiento de XML en python basada en libxml2 y libxslt; también incluye instalaciones para XSLT .