当前位置 博文首页 > Python实现把xml或xsl转换为html格式

    Python实现把xml或xsl转换为html格式

    作者:admin 时间:2021-07-30 18:53

    前些天用python处理xml的转换的一个小程序,用来把xml,xsl转换成html。

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

    # -*- 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()
    

    jsjbwy
    下一篇:没有了