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每次处理固定个数的字符的方法总结
Jan 29 Python
跟老齐学Python之玩转字符串(1)
Sep 14 Python
仅利用30行Python代码来展示X算法
Apr 01 Python
NumPy 数学函数及代数运算的实现代码
Jul 18 Python
Python实现两个list求交集,并集,差集的方法示例
Aug 02 Python
python 随机森林算法及其优化详解
Jul 11 Python
python实现智能语音天气预报
Dec 02 Python
python 实现生成均匀分布的点
Dec 05 Python
python集成开发环境配置(pycharm)
Feb 14 Python
django admin 根据choice字段选择的不同来显示不同的页面方式
May 13 Python
python如何变换环境
Jul 21 Python
利用python实现汉诺塔游戏
Mar 01 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写的加密函数,支持私人密钥(详细介绍)
2013/06/09 PHP
php简单实现发送带附件的邮件
2015/06/10 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
EXT中xtype的含义分析
2010/01/07 Javascript
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
Jquery封装tab自动切换效果的具体实现
2013/07/13 Javascript
让元素在网页中可拖动示例代码
2013/08/13 Javascript
使用jQuery插件创建常规模态窗口登陆效果
2013/08/23 Javascript
提取jquery的ready()方法单独使用示例
2014/03/25 Javascript
node.js入门教程
2014/06/01 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
JsRender for object语法简介
2014/10/31 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
nodejs入门教程六:express模块用法示例
2017/04/24 NodeJs
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
微信小程序登陆注册功能的实现代码
2019/12/10 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
[02:22:36]《加油!DOTA》总决赛
2014/09/19 DOTA
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
python实现手机通讯录搜索功能
2018/02/22 Python
python实现超市扫码仪计费
2018/05/30 Python
只需7行Python代码玩转微信自动聊天
2019/01/27 Python
2020最新pycharm汉化安装(python工程狮亲测有效)
2020/04/26 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
AmazeUI 点击元素显示全屏的实现
2020/08/25 HTML / CSS
致铅球运动员广播稿精选
2014/01/12 职场文书
理工大学毕业生自荐信范文
2014/02/22 职场文书
初中军训感想300字
2014/03/05 职场文书
商铺租赁意向书
2014/04/01 职场文书
给校长的建议书600字
2014/05/15 职场文书
小学校本培训方案
2014/06/06 职场文书
2014年城管个人工作总结
2014/12/08 职场文书
医护人员继续教育学习心得体会
2016/01/19 职场文书
redis通过6379端口无法连接服务器(redis-server.exe闪退)
2021/05/08 Redis