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 图片验证码代码分享
Jul 04 Python
Python中replace方法实例分析
Aug 20 Python
Python自动化构建工具scons使用入门笔记
Mar 10 Python
Python文件夹与文件的相关操作(推荐)
Jul 25 Python
Python基础教程之tcp socket编程详解及简单实例
Feb 23 Python
Python实现将一个正整数分解质因数的方法分析
Dec 14 Python
python实现拓扑排序的基本教程
Mar 11 Python
python hough变换检测直线的实现方法
Jul 12 Python
python 表格打印代码实例解析
Oct 12 Python
在python shell中运行python文件的实现
Dec 21 Python
python 输出列表元素实例(以空格/逗号为分隔符)
Dec 25 Python
python3.7调试的实例方法
Jul 21 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
给apache2.2加上mod_encoding模块後 php5.2.0 处理url出现bug
2007/04/12 PHP
PHP面向对象学习笔记之二 生成对象的设计模式
2012/10/06 PHP
浅析PHP原理之变量分离/引用(Variables Separation)
2013/08/09 PHP
php中生成随机密码的自定义函数代码
2013/10/21 PHP
PHP获取当前url的具体方法全面解析
2013/11/26 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
laravel 中如何使用ajax和vue总结
2017/08/16 PHP
php 读写json文件及修改json的方法
2018/03/07 PHP
jquery的each方法使用示例分享
2014/03/25 Javascript
JavaScript中的原型和继承详解(图文)
2014/07/18 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
JavaScript中iframe实现局部刷新的几种方法汇总
2016/01/06 Javascript
BootStrap制作导航条实例代码
2016/05/06 Javascript
jQuery 常用代码集锦(必看篇)
2016/05/16 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
jquery自定义表单验证插件
2016/10/12 Javascript
jquery滚动条插件(可以自定义)
2016/12/11 Javascript
解决BootStrap Fileinput手机图片上传显示旋转问题
2017/06/01 Javascript
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
轻松理解vue的双向数据绑定问题
2017/10/30 Javascript
简述JS浏览器的三种弹窗
2018/07/15 Javascript
Vue传参一箩筐(页面、组件)
2019/04/04 Javascript
用Python制作检测Linux运行信息的工具的教程
2015/04/01 Python
用Python登录Gmail并发送Gmail邮件的教程
2015/04/17 Python
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
tensorflow 输出权重到csv或txt的实例
2018/06/14 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
Python处理PDF与CDF实例
2020/02/26 Python
html5的新增的标签和废除的标签简要概述
2013/02/20 HTML / CSS
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
HEMA法国:荷兰原创设计
2019/02/21 全球购物
Mysql数据库中datetime、bigint、timestamp来表示时间选择,谁来存储时间效率最高
2021/08/23 MySQL
Prometheus 监控MySQL使用grafana展示
2021/08/30 MySQL