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


Posted in Python onMarch 10, 2015

本文实例讲述了Python将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()

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

Python 相关文章推荐
python提示No module named images的解决方法
Sep 29 Python
Python实现将MySQL数据库表中的数据导出生成csv格式文件的方法
Jan 11 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
Python 解决中文写入Excel时抛异常的问题
May 03 Python
对python中两种列表元素去重函数性能的比较方法
Jun 29 Python
Python标准库shutil用法实例详解
Aug 13 Python
使用python将mysql数据库的数据转换为json数据的方法
Jul 01 Python
python批量修改xml属性的实现方式
Mar 05 Python
python如何查看安装了的模块
Jun 23 Python
python 多线程死锁问题的解决方案
Aug 25 Python
python上下文管理器异常问题解决方法
Feb 07 Python
python调用ffmpeg命令行工具便捷操作视频示例实现过程
Nov 01 Python
Python写的Tkinter程序屏幕居中方法
Mar 10 #Python
Python生成随机密码
Mar 10 #Python
Python获取单个程序CPU使用情况趋势图
Mar 10 #Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 #Python
使用graphics.py实现2048小游戏
Mar 10 #Python
Python实现去除代码前行号的方法
Mar 10 #Python
Linux下使用python调用top命令获得CPU利用率
Mar 10 #Python
You might like
如何做到多笔资料的同步
2006/10/09 PHP
PHP CURL模拟登录新浪微博抓取页面内容 基于EaglePHP框架开发
2012/01/16 PHP
作为PHP程序员应该了解MongoDB的五件事
2013/06/03 PHP
根据ip调用新浪api获取城市名并转成拼音
2014/03/07 PHP
iis 7下安装laravel 5.4环境的方法教程
2017/06/14 PHP
CCPry JS类库 代码
2009/10/30 Javascript
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
jquery实现简单实用的打分程序实例
2015/07/23 Javascript
JS实现可展开折叠层的鼠标拖曳效果
2015/10/09 Javascript
JS 实现可停顿的垂直滚动实例代码
2016/11/23 Javascript
js实现右键自定义菜单
2016/12/03 Javascript
解决vue-cli中stylus无法使用的问题方法
2017/06/19 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
[03:10]超级美酒第四天 fy拉比克秀 大合集
2018/06/05 DOTA
Python实现的桶排序算法示例
2017/11/29 Python
Ubuntu下Python2与Python3的共存问题
2018/10/31 Python
python实现推箱子游戏
2020/03/25 Python
Python内存管理实例分析
2019/07/10 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
Python的条件锁与事件共享详解
2019/09/12 Python
python 调试冷知识(小结)
2019/11/11 Python
pandas factorize实现将字符串特征转化为数字特征
2019/12/19 Python
python多线程使用方法实例详解
2019/12/30 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
Python 抓取数据存储到Redis中的操作
2020/07/16 Python
详解Python中Pyyaml模块的使用
2020/10/08 Python
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
岗位廉洁从政承诺书
2014/03/27 职场文书
2015年中秋晚会主持稿
2015/07/30 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书
速龙x4-860k处理器相当于i几
2022/04/20 数码科技
解决Mysql中的innoDB幻读问题
2022/04/29 MySQL
解决 redis 无法远程连接
2022/05/15 Redis
面试官问我Mysql的存储引擎了解多少
2022/08/05 MySQL