LXML and XSL document() Function

前端 未结 2 641
爱一瞬间的悲伤
爱一瞬间的悲伤 2021-01-18 11:34

Hi i got the following files :

merge.py:

from lxml import etree

xml_input = etree.XML(open(\'a.xml\', \'r\').read())
xslt_root = etree.XML(open(\'me         


        
2条回答
  •  一生所求
    2021-01-18 12:01

    You need to register a URI resolver. See the documentation.

    Probably something like this (untested):

    class FileResolver(etree.Resolver):
        def resolve(self, url, pubid, context):
            return self.resolve_filename(url, context)
    
    parser = etree.XMLParser()
    parser.resolvers.add(FileResolver())
    xml_input = etree.parse(open('a.xml','r'), parser)
    xslt_root = etree.parse(open('merge.xsl','r'), parser)
    transform = etree.XSLT(xslt_root)
    print str(transform(xml_input))
    

提交回复
热议问题