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中的类与实例
Apr 27 Python
python subprocess 杀掉全部派生的子进程方法
Jan 16 Python
一篇文章读懂Python赋值与拷贝
Apr 19 Python
python代码过长的换行方法
Jul 19 Python
Flask之请求钩子的实现
Dec 23 Python
Python二叉树的镜像转换实现方法示例
Mar 06 Python
Python 实现数据结构中的的栈队列
May 16 Python
Python实用工具FuckIt.py介绍
Jul 02 Python
Python网络编程之使用TCP方式传输文件操作示例
Nov 01 Python
Pytorch to(device)用法
Jan 08 Python
Python3.x+pyqtgraph实现数据可视化教程
Mar 14 Python
python super()函数的基本使用
Sep 10 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
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
php框架Phpbean说明
2008/01/10 PHP
PHP文件操作实现代码分享
2011/09/01 PHP
PHP中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
PHP正则表达式之定界符和原子介绍
2012/10/05 PHP
phpexcel导出excel的颜色和网页中的颜色显示不一致
2012/12/11 PHP
php找出指定范围内回文数且平方根也是回文数的方法
2015/03/23 PHP
php实现XSS安全过滤的方法
2015/07/29 PHP
php基于ob_start(ob_gzhandler)实现网页压缩功能的方法
2017/02/18 PHP
PHP实现的数据对象映射模式详解
2019/03/20 PHP
Mac系统下搭建Nginx+php-fpm实例讲解
2020/12/15 PHP
理解Javascript_14_函数形式参数与arguments
2010/10/20 Javascript
原生js实现改变随意改变div属性style的名称和值的结果
2013/09/26 Javascript
jQuery Validate插件实现表单验证
2016/08/19 Javascript
Javascript中call,apply,bind方法的详解与总结
2016/12/12 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
JS正则表达式验证中文字符
2017/05/08 Javascript
JavaScript实现图片无缝滚动效果
2017/07/07 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
vue2.0项目集成Cesium的实现方法
2019/07/30 Javascript
用Python实现命令行闹钟脚本实例
2016/09/05 Python
Python基于辗转相除法求解最大公约数的方法示例
2018/04/04 Python
如何给Python代码进行加密
2020/01/10 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
英国银首饰公司:e&e Jewellery
2021/02/11 全球购物
得到Class的三个过程是什么
2012/08/10 面试题
法学毕业生自荐信
2013/11/13 职场文书
环境工程专业个人求职信
2013/12/05 职场文书
车辆转让协议书
2014/04/15 职场文书
检讨书格式范文
2015/05/07 职场文书
k8s部署redis cluster集群的实现
2021/06/24 Redis
Spring实现内置监听器
2021/07/09 Java/Android
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
TaiShan 200服务器安装Ubuntu 18.04的图文教程
2022/06/28 Servers