我在 Python 3.7.6 中使用 xmltodict 并且遇到了一个问题,有时我的数据是一个列表,有时我的数据是一个有序字典。这是一个代码:
import xmltodict
myData = list()
myData.append (xmltodict.parse("""
<DataTimes>
<DataTime>
<FromTime>00:00:00</FromTime>
<ToTime>23:59:59</ToTime>
</DataTime>
</DataTimes> """))
myData.append (xmltodict.parse("""
<DataTimes>
<DataTime>
<FromTime>00:00:00</FromTime>
<ToTime>01:00:00</ToTime>
</DataTime>
<DataTime>
<FromTime>03:00:00</FromTime>
<ToTime>04:00:00</ToTime>
</DataTime>
<DataTime>
<FromTime>06:00:00</FromTime>
<ToTime>07:00:00</ToTime>
</DataTime>
</DataTimes>""") )
for i in range(len(myData)):
for values in myData[i].get("DataTimes").values():
print(type(values))
if isinstance(values, list): #treat the data as a list
for myDataTime in values:
print(myDataTime.get("FromTime"))
else: #treat the data as a dictionary
print(values.get("FromTime"))
我必须不断为我在数据中查看的每个新数据输入编写一个列表检查,因为我永远无法确定我是否会在 index[0] 中有一组数据或在 index[1] 中有多组数据]。有没有更简洁的方法来访问列表或有序字典?