Php 使用Xpath获取第一个祖先
我想使用XPath来获取第一个父祖先。 我想解析如下代码:Php 使用Xpath获取第一个祖先,php,xpath,Php,Xpath,我想使用XPath来获取第一个父祖先。 我想解析如下代码: <div> <span class="city">City 1</span> <div class="annonce"> <span class="item">Item1</span> </div> </div> <div> <div class="annonce">
<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>
城市1
项目1
项目2
城市2
项目3
项目4
使用XPath,我希望得到第一个父城市。
例如,对于Item1,Item2,我想要城市1
对于第三项,第四项,我想要第二个城市
有可能吗?
我不能编辑源代码
谢谢
我想使用XPath来获取第一个父祖先
这个术语是不正确和误导性的。“父母-祖先”没有意义,因为父母永远是祖先
还有。要选择的元素不是任何span[@class='item']
元素的父元素或祖先元素
最后,提供的文本不是格式良好的XML文档。在格式良好的XML文档中,只有一个顶层元素
这就是说,
使用:
preceding::span[@class='city'][1]
这将选择上下文(当前)节点前面的第一个
span
元素,其class
属性的字符串值是字符串“city”
,Oups,我没有再次阅读我的帖子。我同意“父母-祖先”的含义。我想说的是祖先。但你的代码是有效的。谢谢