首页 > 编程 > Python > 正文

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

2020-01-04 19:16:15
字体:
来源:转载
供稿:网友
这篇文章主要介绍了Python使用MYSQLDB实现从数据库中导出XML文件的方法,涉及Python使用MYSQLDB操作数据库及XML文件的相关技巧,需要的朋友可以参考下
 

本文实例讲述了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")

 

简单的举个例子:
 

  1. # -*- coding: utf-8 -*- 
  2. from xml.dom import minidom 
  3. import MySQLdb 
  4. conn = MySQLdb.connect(host='localhost',user='root',passwd='xxx',db='my_xml',charset="utf8"
  5. cursor = conn.cursor() 
  6. cursor.execute('select id, name, style, description, family from ppy_fish'
  7. res_list = cursor.fetchall() 
  8. print len(res_list) 
  9. doc = minidom.Document() 
  10. root = doc.createElement("data"
  11. doc.appendChild(root) 
  12. ATTRIBUTE = {"n":1"d":3
  13. for res in res_list: 
  14.   node = doc.createElement(res[2]) 
  15.   for i in ATTRIBUTE: 
  16.     id_node = doc.createElement("%s" % i) 
  17.     data = doc.createTextNode("%s" % res[ATTRIBUTE[i]]) 
  18.     id_node.appendChild(data) 
  19.     node.appendChild(id_node) 
  20.   root.appendChild(node) 
  21. str_xml = doc.toxml("utf-8"
  22. f = open('fish.xml''w'
  23. f.write(str_xml) 
  24. f.close() 
  25. cursor.close() 
  26. conn.close() 
?

希望本文所述对大家的Python程序设计有所帮助。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表