1
Имейте огромный .xml-файл. Не нашел решение для my previos question Решил использовать interparse()
для получения узла. Проблема: не удается извлечь дочерние узлы.получить детей между <start> и/<end> узлы, использующие interparse()
.xml образец
<node id="3828373736" lat="54.6849130" lon="25.2850783" version="1" timestamp="2015-11-10T10:52:34Z" changeset="35211986" uid="1241595" user="Runis">
<tag k="highway" v="traffic_sign"/>
<tag k="traffic_sign" v="LT:552"/>
</node>
<node id="3828373737" lat="54.6848815" lon="25.2851614" version="1" timestamp="2015-11-10T10:52:34Z" changeset="35211986" uid="1241595" user="Runis">
<tag k="highway" v="traffic_sign"/>
<tag k="traffic_sign" v="LT:553"/>
</node>
Часть моего кода:
import xml.etree.ElementTree as etree
file=('file.osm')
context=etree.iterparse(file, events=('start', 'end', 'start-ns', 'end-ns'))
for event, elem in context:
if event == "start" and elem.tag == "node":
ID=elem.get('id')
lat=elem.get('lat')
lon=elem.get('lon')
print ID,lat,lon
elem.clear()