<xml>
<mapshape title="Bar" extras="">
<kml></kml>
</mapshape>
<mapshape title="Foo" extras="">
<kml></kml>
</mapshape>
</xml>
我有一个类似的xml文档,一个xml中有多个mapshape节点,每个包含一个有效的kml文件。我需要在谷歌地图上绘制它们。
我尝试过像geoxml(3)这样的库,它们可以解析一个kml文件,但是我的文件有很多kmls,我该怎么处理呢?
答案 0 :(得分:0)
您可以使用lxml提取kml部分,然后将它们传递给另一个库:
doc = """<xml>
<mapshape title="Bar" extras="">
<kml></kml>
</mapshape>
<mapshape title="Foo" extras="">
<kml></kml>
</mapshape>
</xml>"""
import lxml.etree as etree
xml = etree.fromstring(doc)
for mapshape in xml:
kml = etree.tostring(mapshape.getchildren()[0])
parseKML(kml)