开发者

ElementTree returns no nodes parsing simple KML document

开发者 https://www.devze.com 2023-03-30 11:38 出处:网络
I have a very simple KML file which returns no nodes when parsed with ElementTree.This is frustrating me :-).Any clues?

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

精彩评论

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

关注公众号