我正在尝试在XML文件中获取信息。我正在尝试使用ElementTree,但似乎我正在做的事情打破了python中的xml结构。
这里有XML:
<?xml version="1.0" encoding="UTF-8"?>
<TrainingCenterDatabase>
<Activities>
<Activity>
<Id>2018-05-23</Id>
<Lap>
<TotalTimeSeconds>19204.0</TotalTimeSeconds>
<MaximumHeartRateBpm>
<Value>137</Value>
</MaximumHeartRateBpm>
<Track>
<Trackpoint>
<Time>2018-05-23</Time>
<HeartRateBpm>
<Value>79</Value>
</HeartRateBpm>
<SensorState>Present</SensorState>
</Trackpoint>
<Trackpoint>
<Time>2018-05-23</Time>
<HeartRateBpm>
<Value>80</Value>
</HeartRateBpm>
<SensorState>Present</SensorState>
</Trackpoint>
</Track>
</Lap>
</Activity>
</Activities>
</TrainingCenterDatabase>
我非常简单的代码如下:
e = ET.parse('fileName.xml').getroot()
e = e.find('./Activities/Activity/Lap/Track')
print(e)
此代码返回以下错误:
AttributeError: 'NoneType' object has no attribute 'iter'
我已经关注堆栈上的文档和一些问题,如1。我的最终输出是一些包含一次性信息的变量:MaximumHeartRateBpm,TotalTimeSeconds和Id。此外,我想获得一个具有以下结构的Track项目的词典列表:
[{"Time": val, "HeartRateBpm": val, "SensorState": val},
...,
{"Time": val, "HeartRateBpm": val, "SensorState": val}]
我无法尝试第二个,因为我无法查看xml。
谢谢。