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 socket.error: [Errno 98] Address already in use的原因和解决方法
Aug 25 Python
wxPython学习之主框架实例
Sep 28 Python
详解Python文本操作相关模块
Jun 22 Python
python 实现数字字符串左侧补零的方法
Dec 04 Python
浅谈Python批处理文件夹中的txt文件
Mar 11 Python
用Python实现最速下降法求极值的方法
Jul 10 Python
Django实现跨域的2种方法
Jul 31 Python
Django 1.10以上版本 url 配置注意事项详解
Aug 05 Python
pytorch多GPU并行运算的实现
Sep 27 Python
python函数声明和调用定义及原理详解
Dec 02 Python
Python爬虫防封ip的一些技巧
Aug 06 Python
详解python变量与数据类型
Aug 25 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错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
2014/06/23 PHP
php中 $$str 中 "$$" 的详解
2015/07/06 PHP
wampserver改变默认网站目录的办法
2015/08/05 PHP
PHP实现图片的等比缩放和Logo水印功能示例
2017/05/04 PHP
php中数组最简单的使用方法
2020/12/27 PHP
document.all的一个比较完整的总结及案例
2013/01/31 Javascript
验证手机号码的JS方法分享
2013/09/10 Javascript
jQuery标签替换函数replaceWith()的使用例子
2014/08/28 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
最适应的vue.js的form提交涉及多种插件【推荐】
2018/08/27 Javascript
详解JavaScript中typeof与instanceof用法
2018/10/24 Javascript
layui 实现自动选择radio单选框(checked)的方法
2019/09/03 Javascript
node读写Excel操作实例分析
2019/11/06 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
[01:02:46]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
python中Flask框架简单入门实例
2015/03/21 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
python实现二维插值的三维显示
2018/12/17 Python
numpy求平均值的维度设定的例子
2019/08/24 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
Python logging模块进行封装实现原理解析
2020/08/07 Python
eBay澳大利亚站:eBay.com.au
2018/02/02 全球购物
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
金智子午JAVA面试题
2015/09/04 面试题
某公司.Net方向面试题
2014/04/24 面试题
美国留学经济担保书
2014/05/20 职场文书
学生上课看漫画的检讨书
2014/09/26 职场文书
员工工作及收入证明
2014/10/28 职场文书
小班下学期幼儿评语
2014/12/30 职场文书
检讨书怎么写
2015/05/07 职场文书
2015年学校团委工作总结
2015/05/26 职场文书
2016年大学迎新晚会工作总结
2015/10/15 职场文书
《搭石》教学反思
2016/02/18 职场文书
Vue Element plus使用方法梳理
2022/12/24 Vue.js