python将xml xsl文件生成html文件存储示例讲解


Posted in Python onDecember 03, 2013

前提:安装libxml2 libxstl

官方网站:http://xmlsoft.org/XSLT/index.html

安装包下载:http://xmlsoft.org/sources/

下面是windows平台的exe安装文件下载:

http://xmlsoft.org/sources/win32/python/
这是转载的测试代码:

# -*- 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让图片按照exif信息里的创建时间进行排序的方法
Mar 16 Python
Python实现高效求解素数代码实例
Jun 30 Python
Python脚本实现自动发带图的微博
Apr 27 Python
基于循环神经网络(RNN)实现影评情感分类
Mar 26 Python
python清除函数占用的内存方法
Jun 25 Python
用python统计代码行的示例(包括空行和注释)
Jul 24 Python
Python之Class&Object用法详解
Dec 25 Python
python nohup 实现远程运行不宕机操作
Apr 16 Python
Python实现一个简单的递归下降分析器
Aug 01 Python
PyQT5速成教程之Qt Designer介绍与入门
Nov 02 Python
Python实例教程之检索输出月份日历表
Dec 16 Python
python中altair可视化库实例用法
Jan 26 Python
python使用reportlab画图示例(含中文汉字)
Dec 03 #Python
python33 urllib2使用方法细节讲解
Dec 03 #Python
python使用mysqldb连接数据库操作方法示例详解
Dec 03 #Python
二种python发送邮件实例讲解(python发邮件附件可以使用email模块实现)
Dec 03 #Python
python paramiko实现ssh远程访问的方法
Dec 03 #Python
Python使用urllib2获取网络资源实例讲解
Dec 02 #Python
python读写文件操作示例程序
Dec 02 #Python
You might like
PHP下MAIL的另一解决方案
2006/10/09 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
php通过数组实现多条件查询实现方法(字符串分割)
2014/05/06 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
PHP多进程编程之僵尸进程问题的理解
2017/10/15 PHP
在laravel中使用with实现动态添加where条件
2019/10/10 PHP
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
使用jQuery异步加载 JavaScript脚本解决方案
2014/04/20 Javascript
Jquery搜索父元素操作方法
2015/02/10 Javascript
jQuery通过ajax请求php遍历json数组到table中的代码(推荐)
2016/06/12 Javascript
JS匿名函数类生成方式实例分析
2016/11/26 Javascript
Flask中获取小程序Request数据的两种方法
2017/05/12 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
node+express+ejs使用模版引擎做的一个示例demo
2017/09/18 Javascript
解决select2在bootstrap modal中不能正常使用的问题
2018/08/09 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
JS利用prototype给类添加方法操作详解
2019/06/21 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[51:11]2014 DOTA2国际邀请赛中国区预选赛5.21 LGD-CDEC VS DT
2014/05/22 DOTA
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
Google开源的Python格式化工具YAPF的安装和使用教程
2016/05/31 Python
简单谈谈python基本数据类型
2018/09/26 Python
Python 中包/模块的 `import` 操作代码
2019/04/22 Python
python列表推导式入门学习解析
2019/12/02 Python
Python调用shell命令常用方法(4种)
2020/05/11 Python
python实现b站直播自动发送弹幕功能
2021/02/20 Python
美国领先的汽车轮胎和轮毂供应商:TireBuyer
2016/07/21 全球购物
印度尼西亚手表和包包商店:Urban Icon
2019/12/12 全球购物
大学校园活动策划书
2014/02/04 职场文书
优秀老员工获奖感言
2014/02/15 职场文书
英语专业自荐书
2014/06/13 职场文书
给医院的感谢信
2015/01/21 职场文书
2015公务员年度考核评语
2015/03/25 职场文书
社区艾滋病宣传活动总结
2015/05/07 职场文书
Node-Red实现MySQL数据库连接的方法
2021/08/07 MySQL