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

yipeiwu_com6年前Python基础

本文实例讲述了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判断图片宽度和高度后删除图片的方法。分享给大家供大家参考。具体分析如下: Image对象有open方法却没有close方法,如果打开图片,判断图片高度和宽度,判...

详解python之heapq模块及排序操作

说到排序,很多人可能第一想到的就是sorted,但是你可能不知道python中其实还有还就中方法哟,并且好多种场景下效率都会比sorted高。那么接下来我就依次来介绍我所知道的排序操作。...

使用pandas将numpy中的数组数据保存到csv文件的方法

使用pandas将numpy中的数组数据保存到csv文件的方法

接触pandas之后感觉它的很多功能似乎跟numpy有一定的重复,尤其是各种运算。不过,简单的了解之后发现在数据管理上pandas有着更为丰富的管理方式,其中一个很大的优点就是多出了对数...

Python多线程编程(八):使用Event实现线程间通信

使用threading.Event可以实现线程间相互通信,之前的Python:使用threading模块实现多线程编程七[使用Condition实现复杂同步]我们已经初步实现了线程间通信...

Python 实现域名解析为ip的方法

今天得了一批域名,需要把域名解析成ip 因为量比较大所以采用了多进程和队列的方式 from multiprocessing import Process,Queue,Pool imp...