XPath: следующий потомок родителя - PullRequest
0 голосов
/ 26 августа 2018

Я пытаюсь получить дочерний элемент родителя, используя 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;

Итак, какую последовательность я ищу:

  1. Найти диапазон с текстом "Body:"
  2. Получить текст div рядом с родительским элементом текущего узла -> результатом эха должно быть «Sport Utility Vehicle (SUV) / Многоцелевое транспортное средство (MPV)»

P.S .: имена классов не являются уникальными и используются для многих других строк, поэтому доступ по атрибуту не имеет места.

Надеюсь, вопрос четко объяснен :) Спасибо.

1 Ответ

0 голосов
/ 26 августа 2018

Получить текст div рядом с родительским элементом текущего узла

Тем не менее, ваш xpath пытается получить следующих родственников текущего узла .

Итак, исправляя это, xpath становится: //span[text()="Body:"]/../following-sibling::div[1]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...