本文实例讲述了Python使用MysqLDB实现从数据库中导出XML文件的方法。分享给大家供大家参考。具体分析如下:
这里需要给前端以xml格式提供一些数据,这些数据在目前的数据库中已经存在。
如果使用django返回xml数据的话,需要包装下头信息:
r = HttpResponse(str_xml)
r.mimetype = "text/xml"
r['Content-Type'] = "application/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,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程序设计有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。