XPath:父级的下一个子级

时间:2018-08-26 13:18:41

标签: php html xpath

我正在尝试使用php中的Xpath来获取父母的孩子。

HTML:

<div class="Grid Grid--multiCol Grid--2to3 Grid--gutterH20px">
    <div class="Grid-cell Grid-cell--1">
        <span class="u-colorVehicleAttrs">Body:</span>
    </div>
    <div class="Grid-cell Grid-cell--2">Sport Utility Vehicle (SUV)/Multi Purpose Vehicle (MPV)</div>
</div>

Php:

...
$bodytype = $my_xpath->query("//span[text()='Body:']/following-sibling::div[1]")[0]->nodeValue;
echo $bodytype;

所以,我要寻找什么顺序:

  1. 使用文本“正文:”查找范围
  2. 在当前节点的父元素旁边获取div的文本->回声的结果应为“运动型多功能车(SUV)/多功能车(MP​​V)”

P.S .:类名不是唯一的,并且用于许多其他行,因此按属性访问不是这种情况。

希望问题清楚地说明了:)谢谢。

1 个答案:

答案 0 :(得分:2)

  

获取当前节点的父元素旁边的div文本

但是,您的xpath试图获取当前节点的后继兄弟。

因此,将其修复后,xpath变为://span[text()="Body:"]/../following-sibling::div[1]