本文实例讲述了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程序设计有所帮助。