脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - Python将xml和xsl转换为html的方法

Python将xml和xsl转换为html的方法

2019-11-25 22:38Sephiroth Python

这篇文章主要介绍了Python将xml和xsl转换为html的方法,实例分析了使用libxml2模块操作xml和xsl转换为html的技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了html">Python将xml和xsl转换为html的方法。分享给大家供大家参考。具体分析如下:

这里需要用libxml2,所以还要先安装了libxml2模块才能使用。代码如下:

  1. # -*- coding: mbcs -*- 
  2. #!/usr/bin/python 
  3. import libxml2, libxslt 
  4. class compoundXML: 
  5.   def __init__(self): 
  6.     self._result = None 
  7.     self._xsl = None 
  8.     self._xml = None 
  9.   def do(self, xml_file_name, xsl_file_name): 
  10.     self._xml = libxml2.parseFile(xml_file_name) 
  11.     if self._xml == None: 
  12.       return 0 
  13.     styledoc = libxml2.parseFile(xsl_file_name) 
  14.     if styledoc == None: 
  15.       return 0 
  16.     self._xsl = libxslt.parseStylesheetDoc(styledoc) 
  17.     if self._xsl == None: 
  18.       return 0 
  19.     self._result = self._xsl.applyStylesheet(self._xml, None) 
  20.   def get_xml_doc(self): 
  21.     return self._result       
  22.   def get_translated(self): 
  23.     return self._result.serialize('UTF-8')     
  24.   def save_translated(self, file_name): 
  25.     self._xsl.saveResultToFilename(file_name, self._result, 0) 
  26.   def release(self): 
  27.     ''
  28.     this function must be called in the end. 
  29.     ''
  30.     self._xsl.freeStylesheet() 
  31.     self._xml.freeDoc() 
  32.     self._result.freeDoc() 
  33.     self._xsl = None 
  34.     self._xml = None 
  35.     self._result = None 
  36. if __name__ == '__main__'
  37.   test = compoundXML() 
  38.   test.do('test/testxmlutil.xml''test/testxmlutil.xsl'
  39.   print test.get_translated() 
  40.   test.save_translated('test/testxmlutil.htm'
  41.   test.release() 

希望本文所述对大家的Python程序设计有所帮助。

延伸 · 阅读

精彩推荐