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的pdb调试命令的命令整理及实例
Jul 12 Python
详解Python实现多进程异步事件驱动引擎
Aug 25 Python
python matplotlib中文显示参数设置解析
Dec 15 Python
Python常用字符串替换函数strip、replace及sub用法示例
May 21 Python
详解如何将python3.6软件的py文件打包成exe程序
Oct 09 Python
python正则表达式去除两个特殊字符间的内容方法
Dec 24 Python
Python高级特性与几种函数的讲解
Mar 08 Python
Python 3.8新特征之asyncio REPL
May 28 Python
给你一面国旗 教你用python画中国国旗
Sep 24 Python
Python values()与itervalues()的用法详解
Nov 27 Python
tensorflow对图像进行拼接的例子
Feb 05 Python
浅谈Python类的单继承相关知识
May 12 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
怎么样可以把 phpinfo()屏蔽掉?
2006/11/24 PHP
追求程序速度,而不是编程的速度
2008/04/23 PHP
php gzip压缩输出的实现方法
2013/04/27 PHP
ThinkPHP控制器详解
2015/07/27 PHP
php 中htmlentities导致中文无法查询问题
2018/09/10 PHP
初学Javascript的一些总结
2008/11/03 Javascript
JavaScript Sort 表格排序
2009/10/31 Javascript
Jquery实现弹出层分享微博插件具备动画效果
2013/04/03 Javascript
JavaScript版的TwoQueues缓存模型
2014/12/29 Javascript
浅谈jquery回调函数callback的使用
2015/01/30 Javascript
AngularJs实现ng1.3+表单验证
2015/12/10 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
Vue.js 2.0窥探之Virtual DOM到底是什么?
2017/02/10 Javascript
关于node-bindings无法在Electron中使用的解决办法
2018/12/18 Javascript
解决微信小程序中转换时间格式IOS不兼容的问题
2019/02/15 Javascript
Nodejs实现图片上传、压缩预览、定时删除功能
2019/10/25 NodeJs
高效jQuery选择器的5个技巧实例分析
2019/11/26 jQuery
《javascript设计模式》学习笔记三:Javascript面向对象程序设计单例模式原理与实现方法分析
2020/04/07 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
在Django框架中编写Contact表单的教程
2015/07/17 Python
Python线程指南详细介绍
2017/01/05 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
Python线程之定位与销毁的实现
2019/02/17 Python
Python for循环与range函数的使用详解
2019/03/23 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
浅谈Pytorch中的自动求导函数backward()所需参数的含义
2020/02/29 Python
5款实用的python 工具推荐
2020/10/13 Python
表彰先进的通报
2014/01/31 职场文书
写求职信有哪些注意事项
2014/05/08 职场文书
新书发布会策划方案
2014/06/09 职场文书
商场周年庆活动方案
2014/08/19 职场文书
2014年无财产无子女离婚协议书范本
2014/10/09 职场文书
乡镇务虚会发言材料
2014/10/20 职场文书
教师工作决心书
2015/02/04 职场文书
2016春节家属慰问信
2015/03/25 职场文书
Django操作cookie的实现
2021/05/26 Python