Python:JS:如何在一个xml文件中解析多个kml节点?

时间:2011-09-22 13:42:02

标签: python google-maps-api-3

<xml>
    <mapshape title="Bar" extras="">
    <kml></kml>
    </mapshape>

    <mapshape title="Foo" extras="">
    <kml></kml>
    </mapshape>
</xml>

我有一个类似的xml文档,一个xml中有多个mapshape节点,每个包含一个有效的kml文件。我需要在谷歌地图上绘制它们。

我尝试过像geoxml(3)这样的库,它们可以解析一个kml文件,但是我的文件有很多kmls,我该怎么处理呢?

1 个答案:

答案 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)