Python使用MYSQLDB实现从数据库中导出XML文件的方法


Posted in Python onMay 11, 2015

本文实例讲述了Python使用MYSQLDB实现从数据库中导出XML文件的方法。分享给大家供大家参考。具体分析如下:

这里需要给前端以xml格式提供一些数据,这些数据在目前的数据库中已经存在。

如果使用django返回xml数据的话,需要包装下头信息:

r = HttpResponse(str_xml)

r.mimetype = "text/xml"

r['Content-Type'] = "application/xml"

另外,使用group by可以使用以下方式来查询。
objs = Fish.objects.raw("SELECT  id, almanac_name, style , almanac_code,almanac_description FROM ppy_fish WHERE almanac_name != ''  GROUP BY almanac_code")

简单的举个例子:

# -*- coding: utf-8 -*-
from xml.dom import minidom
import MySQLdb
conn = MySQLdb.connect(host='localhost',user='root',passwd='xxx',db='my_xml',charset="utf8")
cursor = conn.cursor()
cursor.execute('select id, name, style, description, family from ppy_fish')
res_list = cursor.fetchall()
print len(res_list)
doc = minidom.Document()
root = doc.createElement("data")
doc.appendChild(root)
ATTRIBUTE = {"n":1, "d":3}
for res in res_list:
  node = doc.createElement(res[2])
  for i in ATTRIBUTE:
    id_node = doc.createElement("%s" % i)
    data = doc.createTextNode("%s" % res[ATTRIBUTE[i]])
    id_node.appendChild(data)
    node.appendChild(id_node)
  root.appendChild(node)
str_xml = doc.toxml("utf-8")
f = open('fish.xml', 'w')
f.write(str_xml)
f.close()
cursor.close()
conn.close()

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python抓取最新博客内容并生成Rss
May 17 Python
Python 26进制计算实现方法
May 28 Python
python登录豆瓣并发帖的方法
Jul 08 Python
Python基于动态规划算法计算单词距离
Jul 25 Python
Python对列表去重的多种方法(四种方法)
Dec 05 Python
Django 实现下载文件功能的示例
Mar 06 Python
python用户管理系统
Mar 13 Python
Python实现连接MySql数据库及增删改查操作详解
Apr 16 Python
python Django中models进行模糊查询的示例
Jul 18 Python
keras中的卷积层&池化层的用法
May 22 Python
python自动化测试三部曲之unittest框架的实现
Oct 07 Python
python3.9之你应该知道的新特性详解
Apr 29 Python
Python生成不重复随机值的方法
May 11 #Python
Python解析nginx日志文件
May 11 #Python
Python字符串替换实例分析
May 11 #Python
Python使用django获取用户IP地址的方法
May 11 #Python
总结Python编程中三条常用的技巧
May 11 #Python
python求解水仙花数的方法
May 11 #Python
pymongo为mongodb数据库添加索引的方法
May 11 #Python
You might like
PHP Parse Error: syntax error, unexpected $end 错误的解决办法
2012/06/05 PHP
解析PHP留言本模块主要功能的函数说明(代码可实现)
2013/06/25 PHP
laravel框架中表单请求类型和CSRF防护实例分析
2019/11/23 PHP
用js控制组织结构图可以任意拖拽到指定位置
2014/01/17 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
angularjs客户端实现压缩图片文件并上传实例
2015/07/06 Javascript
分享一些常用的jQuery动画事件和动画函数
2015/11/27 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
Angular2下使用pdf插件的方法详解
2017/04/29 Javascript
vue.js获取数据库数据实例代码
2017/05/26 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
详解jQuery如何实现模糊搜索
2019/05/10 jQuery
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
[05:31]DOTA2英雄梦之声_第08期_莉娜
2014/06/23 DOTA
[05:07]DOTA2英雄梦之声_第14期_暗影恶魔
2014/06/20 DOTA
在Python中使用M2Crypto模块实现AES加密的教程
2015/04/08 Python
python 远程统计文件代码分享
2015/05/14 Python
python实现发送和获取手机短信验证码
2016/01/15 Python
简单总结Python中序列与字典的相同和不同之处
2016/01/19 Python
python回调函数中使用多线程的方法
2017/12/25 Python
pandas 条件搜索返回列表的方法
2018/10/30 Python
在python里协程使用同步锁Lock的实例
2019/02/19 Python
Python爬取数据保存为Json格式的代码示例
2019/04/09 Python
python自动发邮件总结及实例说明【推荐】
2019/05/31 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
关于Keras Dense层整理
2020/05/21 Python
介绍下Java的输入输出流
2014/01/22 面试题
合伙经营协议书范本(通用版)
2014/12/03 职场文书
2016年情人节广告语
2016/01/28 职场文书
员工工作心得体会
2019/05/07 职场文书
如何解决php-fpm启动不了问题
2021/11/17 PHP
nginx搭建NFS网络文件系统
2022/04/14 Servers