【发布时间】:2014-05-02 09:44:22
【问题描述】:
我需要将从下面的函数中获得的 xml 写入文件。谁能帮我完成这段代码:
import json
import urllib
results = json.load(urllib.urlopen("http://www.kimonolabs.com/api/4v1t8lgk?apikey=880a9bdbfb8444e00e2505e1533970a7"))
def json2xml(json_obj, line_padding=""):
result_list = list()
json_obj_type = type(json_obj)
if json_obj_type is list:
for sub_elem in json_obj:
result_list.append(json2xml(sub_elem, line_padding))
f= open('tori_json.xml', 'w')
f.write(str(json_obj))
f.close()
return "\n".join(result_list)
if json_obj_type is dict:
for tag_name in json_obj:
sub_obj = json_obj[tag_name]
result_list.append("%s<%s>" % (line_padding, tag_name))
result_list.append(json2xml(sub_obj, "\t" + line_padding))
result_list.append("%s</%s>" % (line_padding, tag_name))
return "\n".join(result_list)
return "%s%s" % (line_padding, json_obj)
所以当我运行函数 json2xml(results) 时,它会将 xml 写入文件。
【问题讨论】:
-
不要尝试手动编写 xml 文件,使用 elementtree 或 lxml 之类的包。您生成的很可能不是有效的 xml。我没有看到任何根元素,没有标签名称有效性检查,没有特殊字符的转换。
-
我认为您的意思是芬兰语代码。