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 列表(List)操作方法详解
Mar 11 Python
深入理解python对json的操作总结
Jan 05 Python
pandas 两列时间相减换算为秒的方法
Apr 20 Python
解决Python3中的中文字符编码的问题
Jul 18 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 Python
Python实现网站表单提交和模板
Jan 15 Python
python实现感知机线性分类模型示例代码
Jun 02 Python
对Django中static(静态)文件详解以及{% static %}标签的使用方法
Jul 28 Python
pytorch梯度剪裁方式
Feb 04 Python
Python如何用wx模块创建文本编辑器
Jun 07 Python
Python字符串split及rsplit方法原理详解
Jun 29 Python
Django自带的用户验证系统实现
Dec 18 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中操作memcached缓存进行增删改查数据的实现代码
2014/08/15 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
使用array_map简单搞定PHP删除文件、删除目录
2014/10/29 PHP
PHP网络操作函数汇总
2015/05/18 PHP
PHP实现的文件操作类及文件下载功能示例
2016/12/24 PHP
PHP双向链表定义与用法示例
2018/01/31 PHP
PHP的mysqli_ssl_set()函数讲解
2019/01/23 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
Javascript模块模式分析
2008/05/16 Javascript
一个关于jqGrid使用的小例子(行按钮)
2011/11/04 Javascript
jQuery+jRange实现滑动选取数值范围特效
2015/03/14 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
兼容浏览器的js事件绑定函数(详解)
2017/05/09 Javascript
原生js的ajax和解决跨域的jsonp(实例讲解)
2017/10/16 Javascript
浅谈Node异步编程的机制
2017/10/18 Javascript
学习React中ref的两个demo示例
2018/08/14 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
JS查找孩子节点简单示例
2019/07/25 Javascript
JavaScript中的惰性载入函数及优势
2020/02/18 Javascript
常用python数据类型转换函数总结
2014/03/11 Python
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
python使用os.listdir和os.walk获得文件的路径的方法
2017/12/16 Python
Python requests库用法实例详解
2018/08/14 Python
python列表list保留顺序去重的实例
2018/12/14 Python
python实现秒杀商品的微信自动提醒功能(代码详解)
2020/04/27 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
美国大城市最热门旅游景点门票:CityPASS
2016/12/16 全球购物
Lookfantastic瑞典:英国知名美妆购物网站
2018/04/06 全球购物
假日旅行社实习自我鉴定
2013/09/24 职场文书
信访维稳工作汇报
2014/10/27 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
国家助学贷款承诺书
2015/04/30 职场文书
装修公司管理制度
2015/08/05 职场文书
MySQL基础(一)
2021/04/05 MySQL
Java GUI编程菜单组件实例详解
2022/04/07 Java/Android