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中的闭包实例详解
Aug 29 Python
Python实现简单的代理服务器
Jul 25 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
Jan 20 Python
python中使用正则表达式的连接符示例代码
Oct 10 Python
Python中一行和多行import模块问题
Apr 01 Python
Django项目实战之用户头像上传与访问的示例
Apr 21 Python
对python3 urllib包与http包的使用详解
May 10 Python
python字符串切割:str.split()与re.split()的对比分析
Jul 16 Python
python 根据字典的键值进行排序的方法
Jul 24 Python
pygame编写音乐播放器的实现代码示例
Nov 19 Python
Python3 pickle对象串行化代码实例解析
Mar 23 Python
python删除文件、清空目录的实现方法
Sep 23 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
中国收音机工业发展史
2021/03/02 无线电
深入PHP与浏览器缓存的分析
2013/06/03 PHP
php+ajax实现文章自动保存的方法
2014/12/30 PHP
JavaScript delete 属性的使用
2009/10/08 Javascript
利用json获取字符出现次数的代码
2012/03/22 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
调用DOM对象的focus使文本框获得焦点
2014/02/19 Javascript
原生js获取宽高与jquery获取宽高的方法关系对比
2014/04/04 Javascript
JS、DOM和JQuery之间的关系示例分析
2014/04/09 Javascript
JS获取随机数函数可自定义最小值最大值
2014/05/08 Javascript
JavaScript使表单中的内容显示在屏幕上的方法
2015/06/29 Javascript
iPhone手机上搭建nodejs服务器步骤方法
2015/07/06 NodeJs
JavaScript和jQuery获取input框的绝对位置实现方法
2016/10/13 Javascript
jQuery动态生成Bootstrap表格
2016/11/01 Javascript
vue.js在标签属性中插入变量参数的方法
2018/03/06 Javascript
详解通过源码解析Node.js中cluster模块的主要功能实现
2018/05/16 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
Element Dialog对话框的使用示例
2020/07/26 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
Python2.7基于淘宝接口获取IP地址所在地理位置的方法【测试可用】
2017/06/07 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
Python读取视频的两种方法(imageio和cv2)
2018/04/15 Python
python交换两个变量的值方法
2019/01/12 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
python实现大文件分割与合并
2019/07/22 Python
中国最大的潮流商品购物网站:YOHO!BUY有货
2017/01/07 全球购物
可持续木材、生态和铝制太阳镜:Proof Eyewear
2019/07/24 全球购物
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
Java面试题:说出如下代码的执行结果
2015/10/30 面试题
2014大四本科生自我鉴定总结
2014/10/04 职场文书
入党个人总结范文
2015/03/02 职场文书
工作推荐信模板
2015/03/25 职场文书
退休欢送会致辞
2015/07/31 职场文书
2017年寒假少先队活动总结
2016/04/06 职场文书
浅谈MySQL中的六种日志
2022/03/23 MySQL