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