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判断端口是否打开的实现代码
Feb 10 Python
python 回调函数和回调方法的实现分析
Mar 23 Python
python Django批量导入不重复数据
Mar 25 Python
Flask框架的学习指南之用户登录管理
Nov 20 Python
Python3解释器知识点总结
Feb 19 Python
Tensorflow实现神经网络拟合线性回归
Jul 19 Python
对django后台admin下拉框进行过滤的实例
Jul 26 Python
Python OrderedDict的使用案例解析
Oct 25 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
Jan 08 Python
python如何实时获取tcpdump输出
Sep 16 Python
python 写一个文件分发小程序
Dec 05 Python
Python中with上下文管理协议的作用及用法
Mar 18 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
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
php实现常见图片格式的水印和缩略图制作(面向对象)
2016/06/15 PHP
php ZipArchive实现多文件打包下载实例
2019/10/31 PHP
JQuery 动画卷页 返回顶部 动画特效(兼容Chrome)
2010/02/15 Javascript
asp.net+jquery滚动滚动条加载数据的下拉控件
2010/06/25 Javascript
使用滤镜设置透明导致 IE 6/7/8/9 解析异常的解决方法
2011/04/07 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
js实现简单计算器
2015/11/22 Javascript
js生成随机数(指定范围)的实例代码
2016/07/10 Javascript
AngularJs bootstrap搭载前台框架——准备工作
2016/09/01 Javascript
Angular2库初探
2017/03/01 Javascript
laydate 显示结束时间不小于开始时间的实例
2017/08/11 Javascript
NodeJs生成sitemap站点地图的方法示例
2019/06/11 NodeJs
layui实现三级导航菜单
2019/07/26 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
Python实现的概率分布运算操作示例
2017/08/14 Python
Python使用PIL模块生成随机验证码
2017/11/21 Python
python2 与python3的print区别小结
2018/01/16 Python
Python中.join()和os.path.join()两个函数的用法详解
2018/06/11 Python
解决pandas.DataFrame.fillna 填充Nan失败的问题
2018/11/06 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
python已协程方式处理任务实现过程
2019/12/27 Python
Python使用itcaht库实现微信自动收发消息功能
2020/07/13 Python
哈萨克斯坦移动和数字技术在线商店:SatelOnline.kz
2020/09/04 全球购物
文史专业毕业生自荐信
2013/11/17 职场文书
委托公证书范本
2014/04/03 职场文书
计算机毕业生求职信
2014/06/10 职场文书
信访工作汇报材料
2014/10/27 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
统计员岗位职责
2015/02/11 职场文书
文明医院的标语集锦!
2019/07/24 职场文书
奖学金发言稿(范文)
2019/08/21 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
MySQL 8.0 之不可见列的基本操作
2021/05/20 MySQL