Python实现把xml或xsl转换为html格式


Posted in Python onApril 08, 2015

前些天用python处理xml的转换的一个小程序,用来把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 Matplotlib库入门指南
May 18 Python
使用Python生成随机密码的示例分享
Feb 18 Python
python使用Pycharm创建一个Django项目
Mar 05 Python
Pandas 数据处理,数据清洗详解
Jul 10 Python
Python利用lxml模块爬取豆瓣读书排行榜的方法与分析
Apr 15 Python
Python网络爬虫信息提取mooc代码实例
Mar 06 Python
在Keras中实现保存和加载权重及模型结构
Jun 15 Python
Python直接赋值及深浅拷贝原理详解
Sep 05 Python
python 利用toapi库自动生成api
Oct 19 Python
PyCharm+Miniconda3安装配置教程详解
Feb 16 Python
python 高阶函数简单介绍
Feb 19 Python
Python中字符串对象语法分享
Feb 24 Python
Python正则表达式匹配HTML页面编码
Apr 08 #Python
在Python中关于中文编码问题的处理建议
Apr 08 #Python
Python脚本实现格式化css文件
Apr 08 #Python
Python实现获取操作系统版本信息方法
Apr 08 #Python
Python中实现对Timestamp和Datetime及UTC时间之间的转换
Apr 08 #Python
python模块之StringIO使用示例
Apr 08 #Python
Python StringIO模块实现在内存缓冲区中读写数据
Apr 08 #Python
You might like
PHP+Memcache实现wordpress访问总数统计(非插件)
2014/07/04 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
放弃用你的InnerHTML来输出HTML吧 jQuery Tmpl不详细讲解
2013/04/20 Javascript
加载远程图片时,经常因为缓存而得不到更新的解决方法(分享)
2013/06/26 Javascript
JQuery加载图片自适应固定大小的DIV
2013/09/12 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
pace.js页面加载进度条插件
2015/09/29 Javascript
JavaScript类型系统之正则表达式
2016/01/05 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
JS跨域请求外部服务器的资源
2017/02/06 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
JS实现动态生成html table表格的方法分析
2018/07/11 Javascript
微信小程序swiper实现滑动放大缩小效果
2018/11/15 Javascript
vue-drag-chart 拖动/缩放图表组件的实例代码
2020/04/10 Javascript
[01:04]DOTA2上海特锦赛现场采访 FreeAgain遭众解说围攻
2016/03/25 DOTA
Python聚类算法之凝聚层次聚类实例分析
2015/11/20 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
Python适配器模式代码实现解析
2019/08/02 Python
Python中url标签使用知识点总结
2020/01/16 Python
keras Lambda自定义层实现数据的切片方式,Lambda传参数
2020/06/11 Python
Python读取图像并显示灰度图的实现
2020/12/01 Python
Python创建自己的加密货币的示例
2021/03/01 Python
玩具反斗城西班牙网上商城:ToysRUs西班牙
2017/01/19 全球购物
Skyscanner澳大利亚:全球领先的旅游搜索网站
2018/03/24 全球购物
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
白酒市场开发计划书
2014/01/09 职场文书
业务总经理岗位职责
2014/02/03 职场文书
七年级政治教学反思
2014/02/03 职场文书
高中班主任评语大全
2014/04/25 职场文书
2014年民主评议党员工作总结
2014/12/02 职场文书
心得体会格式及范文
2016/01/25 职场文书
Golang MatrixOne使用介绍和汇编语法
2022/04/19 Golang
最新动漫情报:2022年7月新番定档超过30部, OVERLORD骨王第四季也在其中噢
2022/05/04 日漫