Я пытаюсь получить ребенка от родителя, используя Xpath в php.
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;
Итак, какую последовательность я ищу:
P.S .: имена классов не уникальны и используются для многих других строк, поэтому доступ по атрибуту не выполняется.
Надеюсь, вопрос ясно объяснен :) Спасибо.
Спасибо, код-кобольд! Оно работает






Get text of div next to parent element of current node
Однако ваш xpath пытается получить следующих братьев и сестер текущий узел.
Итак, исправив это, xpath станет: //span[text() = "Body:"]/../following-sibling::div[1]
Чтобы решить эту проблему, используя ваш подход, просто поднимитесь на один уровень:
"//span[text()='Body:']/../following-sibling::div[1]"