在kml文件中查找占位符



我想在kml文件中找到所有的占位符:

from lxml import etree
doc = etree.parse(filename)
for elem in doc.findall('<Placemark>'):
print(elem.find("<Placemark>").text) 

这不起作用,也就是说,它找不到任何东西,我认为因为每个Placemark都是唯一的,因为每个Placemark都有自己的id,例如:

<Placemark id="ID_09795">
<Placemark id="ID_15356">
<Placemark id="ID_64532">

我该怎么做?

编辑:基于@ScottHunter评论更改代码:

placemark_list = doc.findall("Placemark")
print ("length:" + str(len(placemark_list)))
for placemark in placemark_list:
print(placemark.text) 

长度为0

如果没有看到完整的文件,很难判断,但可以尝试类似的方法

placemark_list = doc.xpath("//*[local-name()='Placemark']")
print(len(placemark_list))

看看它是否有效。

最新更新