我想使用XPath来获得第一个父祖先。 我想解析这样的代码:
<div>
<span class="city">City 1</span>
<div class="annonce">
<span class="item">Item1</span>
</div>
</div>
<div>
<div class="annonce">
<span class="item">Item2</span>
</div>
</div>
<div>
<span class="city">City 2</span>
<div class="annonce">
<span class="item">Item3</span>
</div>
</div>
<div>
<div class="annonce">
<span class="item">Item4</span>
</div>
</div>
对于XPath,我希望得到第一个父城。 例如,对于Item1,Item2我想拥有City 1 对于Item3,Item4我想要City 2
可以这样做吗? P.S:我无法编辑源代码。
由于
答案 0 :(得分:5)
我想使用XPath来获取第一个父祖先。
此术语不正确且具有误导性。 “父祖先”没有意义,因为父母永远是祖先。
另外。您要选择的元素不是任何span[@class='item']
元素的父元素或祖先。
最后,提供的文本不是格式良好的XML文档。在格式良好的XML文档中,只有一个顶级元素。
这就是说,
使用强>:
preceding::span[@class='city'][1]
这将选择上下文(当前)节点的前一个span
元素,其class
属性的字符串值为字符串"city"
。