KML使用django解析子元素

KML parsing child elements using django

我正在尝试使用 django 解析 kml 文件。我正在使用 pyKML 解析器模块。我已经完成了以下步骤。

 root = parser.fromstring(open('myfile.kml').read())

文件内容为:

 <document>
    <Placemark>
      <name>t1</name>
       <Point><coordinates>v1</coordinates>
       </Point>
    </Placemark>
    <Placemark>
     <name>t2</name>
     <Polygon>
       <outerBoundaryIs>
         <LinearRing><coordinates>v2</coordinates>
        </LinearRing>
      </outerBoundaryIs>
    </Polgon>
   </Placemark>
  </document>

我可以使用以下方法检索名称:

name = []

for ele in root.Document.Placemark:
    name.append(ele.name)

但我不知道如何从不同的地标检索坐标值。 请帮帮我。

试试这个:

for pm in root.Document.Placemark:
    point = [p for p in pm.getchildren() if p.tag.endswith('Point')]
    if point:
        coords = point[0].coordinates.text
    else:
        poly = [p for p in pm.getchildren() if p.tag.endswith('Polygon')]
        if poly:
            coords = poly[0].outerBoundaryIs.LinearRing.coordinates.text
    print pm.name, coords