Получить список словаря из XML и значения отдельных элементов - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь получить информацию в файле XML.Я пытаюсь сделать это с ElementTree, однако кажется, что то, что я сейчас делаю, нарушает структуру xml в python.

Здесь есть 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.

Спасибо.

...