Python 从MySQL表中获取并将获取的值呈现为XML
我正在从表中的查询中获取结果:Python 从MySQL表中获取并将获取的值呈现为XML,python,mysql,xml,Python,Mysql,Xml,我正在从表中的查询中获取结果: def getdata() self.cursor.execute("....") fetchall = self.cursor.fetchall() result ={} for row in fetchall: detail1 = row['mysite'] details2 = row['url'] result[detail1] = row return result 现
def getdata()
self.cursor.execute("....")
fetchall = self.cursor.fetchall()
result ={}
for row in fetchall:
detail1 = row['mysite']
details2 = row['url']
result[detail1] = row
return result
现在我需要处理生成的结果集:
def genXML()
data = getdata()
doc = Document() ""create XML tree structure"""
这样数据将保存从查询中获取的所有行,并且我可以从中提取每个列的值?不知何故,我没有得到想要的结果。我的要求是通过DB查询获取结果集,并将结果存储到占位符中,以便稍后在其他方法或位置轻松访问它
================================================================================
我尝试了以下技术,但仍然使用方法“getXML()”,无法获取每个dict行,以便遍历和操作:
fetchall = self.cursor.fetchall()
results= []
result={}
for row in fetchall:
result['mysite'] = row['mysite']
result['mystart'] = row['mystart']
..................................
results.append(result)
return results
def getXML(self):
doc = Document()
charts = doc.createElement("charts")
doc.appendChild(charts)
chartData = self.grabChartData()
for site in chartData:
print site[??]
那么,如何获取每个chartData行的值,然后为每个行循环
注意:我发现只有最后一行获取的值才会像chartData中那样打印出来。假设我知道查询返回了2行。因此,如果我使用下面的getXML()方法打印列表,两行是相同的:
chartData[0]
chartData[1]
如何将每个结果唯一地添加到列表中?在这里,您正在一次又一次地修改并将相同的dict添加到结果中:
result={}
for row in fetchall:
result['mysite'] = row['mysite']
result['mystart'] = row['mystart']
..................................
results.append(result)
在循环内创建字典以解决此问题:
for row in fetchall:
result={}
可能重复的