我正在用Python调用Web API,以XML格式返回数据,使用xmltodict将响应转换为字典,但是对于某些元素,有时我会得到一个字典(单个元素),有时会得到一个列表(多个元素) )作为回应。
我首先开始使用“ if isinstance(...,dict):”-可以解决我的问题,但不太优雅,在我的情况下需要很多代码行。 然后,我发现了“ force_list”,我认为这正是我所需要的,但是我需要将其应用于多个元素,但是我找不到正确的语法-我什至不确定是否可行。
response = xmltodict.parse(xml,force_list =({'Child'},{'Brother'}))
仅在使用force_list = {'Child'}时,代码才能按预期工作。 使用上面的代码,我没有收到任何错误消息,但是当使用“ type”函数检查结果时,我仍然有希望在其中获得列表的字典。 我尝试了其他语法并收到错误消息。
答案 0 :(得分:0)
我认为我找到了正确的语法(似乎按预期运行):
response = xmltodict.parse(xml,force_list =('Child','Brother'))
只是发布,以防将来有人寻找相同的答案。