当前位置 博文首页 > python将xml xsl文件生成html文件存储示例讲解

    python将xml xsl文件生成html文件存储示例讲解

    作者:admin 时间:2021-02-19 21:40

    前提:安装libxml2 libxstl

    官方网站:http://xmlsoft.org/XSLT/index.html

    安装包下载:http://xmlsoft.org/sources/

    下面是windows平台的exe安装文件下载:

    http://xmlsoft.org/sources/win32/python/
    这是转载的测试代码:

    复制代码 代码如下:

    # -*- coding: mbcs -*-
    #!/usr/bin/python

    import libxml2, libxslt


    class compoundXML:
        def __init__(self):
            self._result = None
            self._xsl = None
            self._xml = None

          
        def do(self, xml_file_name, xsl_file_name):      
            self._xml = libxml2.parseFile(xml_file_name)
            if self._xml == None:
                return 0
            styledoc = libxml2.parseFile(xsl_file_name)
            if styledoc == None:
                return 0
            self._xsl = libxslt.parseStylesheetDoc(styledoc)
            if self._xsl == None:
                return 0

            self._result = self._xsl.applyStylesheet(self._xml, None)              

        def get_xml_doc(self):
            return self._result          

        def get_translated(self):
            return self._result.serialize('UTF-8')      

        def save_translated(self, file_name):
            self._xsl.saveResultToFilename(file_name, self._result, 0)

        def release(self):
            '''
            this function must be called in the end.
            '''
            self._xsl.freeStylesheet()
            self._xml.freeDoc()
            self._result.freeDoc()
            self._xsl = None
            self._xml = None
            self._result = None

    if __name__ == '__main__':
        test = compoundXML()
        test.do('test/testxmlutil.xml', 'test/testxmlutil.xsl')
        print test.get_translated()
        test.save_translated('test/testxmlutil.htm')
        test.release()

    js
    下一篇:没有了