【发布时间】:2016-10-10 04:20:15
【问题描述】:
我有以下示例 xml
<osm version="0.6" generator="CGImap 0.3.3 (28791 thorn-03.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
<bounds minlat="41.9704500" minlon="-87.6928300" maxlat="41.9758200" maxlon="-87.6894800"/>
<node id="261114295" visible="true" version="7" changeset="11129782" timestamp="2012-03-28T18:31:23Z" user="bbmiller" uid="451048" lat="41.9730791" lon="-87.6866303"/>
我想使用 python iter parse 从 xml 中提取边界和节点 我试过下面的代码sn -p
import xml.etree.cElementTree as ET
import pprint
def count_tags(filename):
mytags = {}
osmfile = open('example.osm', 'r')
for event, elem in ET.iterparse(osmfile,events=('end',)):
if elem.tag == "tag":
if elem.attrib['k'] in mytags:
mytags[elem.attrib['k']] += 1
else:
mytags[elem.attrib['k']] = 1
但我无法提取边界和节点...我错过了什么?
【问题讨论】:
-
elem.tag永远不会等于“标签”。这是您的实际代码吗? -
我已经更新了xml