开发者

ElementTree returns no nodes parsing simple KML document

I have a very simple KML file which returns no nodes when parsed with ElementTree. This is frustrating me :-). Any clues?

from   xml.etree  import ElementTree
from   pprint     import pprint

kml = '''<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.0">
<Document>
  <name>NEXRAD Radar Sites</name>
  <Schema parent="Placemark" name="wsr">
    <SimpleField type="wstring" name="STATE">
    </SimpleField>
  </Schema>
  <wsr>
    <name>KAB开发者_JS百科R</name>
  </wsr>
</Document>
</kml>
'''

tree    = ElementTree.fromstring(kml)
ElementTree.dump(tree)
for node in tree.iter('wsr'):
    pprint(node)
for node in tree.findall('../wsr'):
    pprint(node)


The tags are namespaced. If you try tree.iter() with no tag it will show what ElementTree thinks the tags are called. The wsr tag is called {http://earth.google.com/kml/2.0}wsr. This returns a node:

list(tree.iter('{http://earth.google.com/kml/2.0}wsr'))
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜