我开发了一个python脚本taht读取xml文件的一个标记,并将结果转换成json。 现在的问题是每个元素的xml都有一些标记(关系1-M)
<idpoint>1021</idpoint>
<tipopoint>1</tipopoint>
<latitude>45.188377380</latitude>
<longitude>8.612257004</longitude>
<previsione time="2015-07-11T12:00:00">
<id_tempo>1</id_tempo>
<desc_tempo>sereno</desc_tempo>
<symbol_day>1</symbol_day>
<temp>33</temp>
</previsione>
<previsione time="2015-07-11T18:00:00">
<id_tempo>1</id_tempo>
<desc_tempo>sereno</desc_tempo>
<symbol_day>1</symbol_day>
<temp>29</temp>
</previsione>
我的代码python读取第一个标记,当我到达标记previsione(对同一点重复2次)时,我取第一个标记previsioni的第一个值,但不取第二个值。 我可以重新创建一个相同的记录,但这次取第二个标记previsioni的值
这是我的python代码的一个片段
json_array = [];
for path in files:
with open(path, 'r') as fr:
print "Parsing xmldoc %s" % path
xmldoc = minidom.parse(fr)
if tipo == "allerte":
items = xmldoc.getElementsByTagName("point")
else:
items = xmldoc.getElementsByTagName("localita")
for item in items:
obj = dict()
if tipo == "allerte":
obj['id'] = item.getElementsByTagName("idpoint")[0].firstChild.nodeValue
else:
obj['id'] = item.getElementsByTagName("idpoint")[0].firstChild.nodeValue
obj['latitude'] = float(item.getElementsByTagName("latitude")[0].firstChild.nodeValue)
obj['longitude'] = float(item.getElementsByTagName("longitude")[0].firstChild.nodeValue)
#TODO: IL symbol code va recuperato dalla prima previsione
sobj['symbolcode'] = int(item.getElementsByTagName("id_tempo")[0].firstChild.nodeValue)
json_array.append(obj)
return json.dumps(json_array)
有什么帮助可以将create的代码集成到jsonfile2元素的2标记关系中吗
谢谢
有一种使用^{} 从xml快速获取json的方法。这个模块从您的xml创建漂亮的dict,您可以像处理纯json一样轻松地处理数据
假设您的xml示例保存为
t2.xml
文件,由<xml>...</xml>
标记封装然后这个脚本
将生成json,如下所示:
特别是,您可以在一个数组中正确地获得两个
previsione
元素,并可以根据需要使用它们相关问题 更多 >
编程相关推荐