У меня есть немного скрипта, который, я думаю, почти у вас. Я разработал грубый способ записи, но я не могу понять, как заставить его функционировать как цикл for.python xml extract for loop
я извлечение данных из файла XML, который использует следующий формат:
<Trackpoint>
<Time>2012-01-17T11:44:35Z</Time>
<Position>
<LatitudeDegrees>51.920211518183351</LatitudeDegrees>
<LongitudeDegrees>26.706042898818851</LongitudeDegrees>
</Position>
<AltitudeMeters>-43.6026611328125</AltitudeMeters>
</Trackpoint>
<Trackpoint>
<Time>2012-01-17T11:45:21Z</Time>
<Position>
<LatitudeDegrees>51.920243117958307</LatitudeDegrees>
<LongitudeDegrees>26.706140967085958</LongitudeDegrees>
</Position>
<AltitudeMeters>-43.6026611328125</AltitudeMeters>
</Trackpoint>
я могу использовать следующее, чтобы получить говорю LatitudeDegrees:
from xml.dom.minidom import parse
doc = parse('/Users/name/Documents/GPS/gps.tcx')
lat = doc.getElementsByTagName("LatitudeDegrees")
time = doc.getElementsByTagName("Time")
trackpoint = doc.getElementsByTagName("Trackpoint")
for x in lat:
print(x.firstChild.data)
, но я хотел бы получить Lat, Long и время в порядке.
Я предполагаю, что мне нужно использовать
for x in trackpoint
но единственный способ, которым я могу работать, как сделать это следующим образом.
У кого-нибудь есть идеи? Кажется, я просто пропустил что-то очень простое!
является результатом список и OBJ словарь? – beoliver
Да, это '[{'Time':, 'LatitudeDegrees':, 'LongitudeDegrees':}]' –
@ user969617, конечным результатом является список словарей. Вы можете распечатать результат напрямую, изменив строку 'obj [el] ='. Но более гибко сохранять этот формат, а затем создавать отдельную функцию, которая выводит его. –