1

我想通过 XPATH 做的是检索名称为 Poly 1 的地标的坐标。这可能是一个非常简单的问题,但我对 XPATH 的了解是有限的,而且我对名称和坐标之间存在额外标签的事实感到困惑(“多边形”)

如您所见,可以有一个或多个元素,我想全部检索它们。

<?xml version="1.0" encoding="UTF-8"?>
<kml>
<Document>
       <Placemark>
            <name>Poly 1</name>
            <Polygon>
                        <coordinates>
                            -58.40844625779582,-34.60295278618136,0
                        </coordinates>
                        <coordinates>
                            -68.40844625779582,-77.60295278618136,0
                        </coordinates>

            </Polygon>
        </Placemark>
        <Placemark>
            <name>Poly 2</name>
            <Polygon>
                        <coordinates>
                            -58.40414334150432,-34.59992445476809,0
                        </coordinates>
            </Polygon>
        </Placemark>
</Document>
</kml>
4

1 回答 1

0

此 XPATH 表达式将获取您的坐标节点

//Placemark[./name[text()='Poly 1']]//coordinates

这是它的工作原理:

  • //Placemark选择所有地标标签
  • //Placemark[./name]选择具有名称子标签的所有地标标签
  • //Placemark[./name[text()='Poly 1']]选择所有带有名称子标签的地标标签,其中名称标签包含文本Poly 1
于 2012-11-28T14:57:11.857 回答