各位用户为了找寻关于Python使用MYSQLDB实现从数据库中导出XML文件的方法的资料费劲了很多周折。这里教程网为您整理了关于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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26# -*- 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程序设计有所帮助。