Python xml和xsl转换为html,pythonxmlxslhtml,用的libxml2,所以


用的libxml2,所以还要先安装了libxml2模块才能使用。

# -*- coding: mbcs -*-#!/usr/bin/pythonimport libxml2, libxsltclass 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 = Noneif __name__ == '__main__':    test = compoundXML()    test.do('test/testxmlutil.xml', 'test/testxmlutil.xsl')    print test.get_translated()    test.save_translated('test/testxmlutil.htm')    test.release()#该片段来自于http://byrx.net

评论关闭