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

903次阅读  |  发布于5年以前

前提:安装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()

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8