Python实现把xml或xsl转换为html格式
前些天用python处理xml的转换的一个小程序,用来把xml,xsl转换成html。
用的libxml2,所以还要先安装了libxml2模块才能使用。
#-*-coding:mbcs-*-
#!/usr/bin/python
importlibxml2,libxslt
classcompoundXML:
def__init__(self):
self._result=None
self._xsl=None
self._xml=None
defdo(self,xml_file_name,xsl_file_name):
self._xml=libxml2.parseFile(xml_file_name)
ifself._xml==None:
return0
styledoc=libxml2.parseFile(xsl_file_name)
ifstyledoc==None:
return0
self._xsl=libxslt.parseStylesheetDoc(styledoc)
ifself._xsl==None:
return0
self._result=self._xsl.applyStylesheet(self._xml,None)
defget_xml_doc(self):
returnself._result
defget_translated(self):
returnself._result.serialize('UTF-8')
defsave_translated(self,file_name):
self._xsl.saveResultToFilename(file_name,self._result,0)
defrelease(self):
'''
thisfunctionmustbecalledintheend.
'''
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')
printtest.get_translated()
test.save_translated('test/testxmlutil.htm')
test.release()