0
这是数据的我的工作的例子:PHP的XPath查询兄弟
<div class="category">
fruit
</div>
<div class="location">
<a href="/fruit">fruit</a>
</div>
改变是在第二个div的链接,我想拉在href部分的唯一的东西如何。
我该如何定位并提取它?
这是数据的我的工作的例子:PHP的XPath查询兄弟
<div class="category">
fruit
</div>
<div class="location">
<a href="/fruit">fruit</a>
</div>
改变是在第二个div的链接,我想拉在href部分的唯一的东西如何。
我该如何定位并提取它?
更新:在XPath中,.
代表“上下文节点”,或由前一路径步骤中选择的节点。要选择其中元素的文本内容等于“果”:
/div[@class eq "category"][. eq "fruit"]
/following-sibling::div[@class eq "location"]/a/@href
如果HTML文本节点格式化空白(因为它是在你的例子),你可以使用功能匹配的文本节点的一部分:
/div[@class eq "category"][contains(., "fruit")]
/following-sibling::div[@class eq "location"]/a/@href
原来的答案
您可以在许多不同的方式选择href
。根据你的标题,似乎你已经选择div/@class eq "category"
,所以你可以使用following-sibling
轴这样的:
/div[@class eq "category"]/following-sibling::div[@class eq "location"]/a/@href
有带class =“类别”多div的,我需要选择包含单词的一个“水果”。所以div的内容决定我是否抓住它的兄弟姐妹。我怎样才能做到这一点? – Jimbotron
@Jimbotron我添加了几种方法来根据元素的文本进行选择。 – joemfb