我想在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))
看看它是否有效。