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脚本实现分析dns日志并对受访域名排行
Sep 18 Python
python获取文件后缀名及批量更新目录下文件后缀名的方法
Nov 11 Python
在Django中进行用户注册和邮箱验证的方法
May 09 Python
Python提取Linux内核源代码的目录结构实现方法
Jun 24 Python
深入了解Python枚举类型的相关知识
Jul 09 Python
使用python将excel数据导入数据库过程详解
Aug 27 Python
Python Tornado批量上传图片并显示功能
Mar 26 Python
解决python父线程关闭后子线程不关闭问题
Apr 25 Python
Django serializer优化类视图的实现示例
Jul 16 Python
Django model重写save方法及update踩坑详解
Jul 27 Python
python实现网页录音效果
Oct 26 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
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
php json与xml序列化/反序列化
2013/10/28 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
PHP实现多文件上传的方法
2015/07/08 PHP
微信自定义分享php代码分析
2016/11/24 PHP
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
js 编程笔记 无名函数
2011/06/28 Javascript
uploadify在Firefox下丢失session问题的解决方法
2013/08/07 Javascript
JavaScript实现twitter puddles算法实例
2014/12/06 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
JS基于cookie实现来宾统计记录访客信息的方法
2015/08/04 Javascript
jQuery实现背景弹性滚动的导航效果
2016/06/01 Javascript
浅谈React和Redux的连接react-redux
2017/12/04 Javascript
一些你可能不熟悉的JS知识点总结
2019/03/15 Javascript
JavaScript实现单英文金山打字通
2020/07/24 Javascript
JS实现简单随机3D骰子
2019/10/24 Javascript
jQuery实现简单评论区功能
2020/10/26 jQuery
Python转码问题的解决方法
2008/10/07 Python
使用pandas读取csv文件的指定列方法
2018/04/21 Python
python实现flappy bird游戏
2018/12/24 Python
python 的 scapy库,实现网卡收发包的例子
2019/07/23 Python
Python socket模块方法实现详解
2019/11/05 Python
检测tensorflow是否使用gpu进行计算的方式
2020/02/03 Python
解析HTML5中的新功能本地存储localStorage
2016/03/01 HTML / CSS
html5生成柱状图(条形图)效果的实例代码
2016/03/25 HTML / CSS
泰国演唱会订票网站:StubHub泰国
2018/02/26 全球购物
Europcar德国:全球汽车租赁领域的领导者
2018/08/15 全球购物
瑞典耳机品牌:URBANISTA
2019/12/03 全球购物
餐厅楼面主管岗位职责范本
2014/02/16 职场文书
宪法宣传周工作方案
2014/05/26 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
个人求职自荐信范文
2015/03/06 职场文书
慰问信格式规范
2015/03/23 职场文书
《纸船和风筝》教学反思
2016/02/18 职场文书
oracle表分区的概念及操作
2021/04/24 Oracle
Mysql调整优化之四种分区方式以及组合分区
2022/04/13 MySQL