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解析中国天气网的天气数据
Mar 21 Python
Python删除指定目录下过期文件的2个脚本分享
Apr 10 Python
12步教你理解Python装饰器
Feb 25 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
Jul 06 Python
Python 实现取矩阵的部分列,保存为一个新的矩阵方法
Nov 14 Python
python实现求特征选择的信息增益
Dec 18 Python
解决TensorFlow GPU版出现OOM错误的问题
Feb 03 Python
python实现udp聊天窗口
Mar 31 Python
python程序需要编译吗
Jun 19 Python
Python爬虫教程知识点总结
Oct 19 Python
如何利用pygame实现打飞机小游戏
May 30 Python
ubuntu安装jupyter并设置远程访问的实现
Mar 31 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
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
Ext grid 添加右击菜单
2009/11/26 Javascript
javascript 验证日期的函数
2010/03/18 Javascript
基于JQuery的一句代码实现表格的简单筛选
2010/07/26 Javascript
javascript new fun的执行过程
2010/08/05 Javascript
Js切换功能的简单方法
2010/11/23 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
利用javascript打开模态对话框(示例代码)
2014/01/11 Javascript
Javascript玩转继承(一)
2014/05/08 Javascript
JavaScript组合拼接字符串的效率对比测试
2014/11/06 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
浅谈javascript中的DOM方法
2015/07/16 Javascript
Javascript实现图片轮播效果(一)让图片跳动起来
2016/02/17 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
Bootstrap源码解读导航条(7)
2016/12/23 Javascript
ES6新特性八:async函数用法实例详解
2017/04/21 Javascript
vuejs实现折叠面板展开收缩动画效果
2018/09/06 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
[05:03]2018DOTA2亚洲邀请赛主赛事首日回顾
2018/04/04 DOTA
深入学习python的yield和generator
2016/03/10 Python
python读取与写入csv格式文件的示例代码
2017/12/16 Python
Python cookbook(数据结构与算法)字典相关计算问题示例
2018/02/18 Python
Python+Kepler.gl实现时间轮播地图过程解析
2020/07/20 Python
vscode+PyQt5安装详解步骤
2020/08/12 Python
KIKO美国官网:意大利的平价彩妆品牌
2017/05/16 全球购物
马来西亚网上花店:FlowerAdvisor马来西亚
2020/01/03 全球购物
开发中都用到了那些设计模式?用在什么场合?
2014/08/21 面试题
五一服装活动方案
2014/01/11 职场文书
继承公证书
2014/04/09 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
2015年入党积极分子评语
2015/03/26 职场文书
2015入党个人自传范文
2015/06/26 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang