如果“车库”中只有一辆“汽车”,则以下代码会产生错误:
import xmltodict
mydict = xmltodict.parse(xmlstringResults)
for carsInGarage in mydict['garage']['car']:
# do something...
原因是mydict['garage']['car']
仅当“car”有多个元素时才是一个列表。所以我做了这样的事情:
import xmltodict
mydict = xmltodict.parse(xmlstringResults)
if isinstance(mydict['garage']['car'], list):
for carsInGarage in mydict['garage']['car']:
# do something for each car...
else:
# do something for the car
让代码运行。但对于更高级的操作,这不是解决方案
即使只有一个元素,是否有人知道要使用某种函数
这当然不是一种优雅的方式,但这就是我运行代码所做的(如果有人通过谷歌发现了同样的问题):
但我想我会再次编写代码,并像其中一条评论所说的那样“直接使用XML”
这个问题在this issue on Github中讨论。xmltodict包现在支持
虽然如果字段不存在,这仍然不会创建空列表
我使用的是
(一)
及
(二)
将任何“项”XML元素解释为列表
相关问题 更多 >
编程相关推荐