Допустим, у меня есть этот код:Выберите nodeValue но исключающие дочерние элементы
<p dataname="description">
Hello this is a description. <a href="#">Click here for more.</a>
</p>
Как выбрать nodeValue из p
, но исключить a
и его содержание?
Мой текущий код:
$result = $xpath->query("//p[@dataname='description'][not(self::a)]");
Я выбираю его $result->item(0)->nodeValue;
Может у PLS объяснить, почему это так? – Michelle
Без/text() вы выбираете весь узел, включая его дочерние элементы. Узлы элементов не имеют собственного текста, вместо этого текст хранится в дочернем узле, называемом текстовым узлом. nodeValue используется для получения текстового значения узла. Вызов nodeValue на узле с дочерними дочерними узлами get get и объединяет их. С помощью/text() вы захватываете только первый дочерний узел текста типа и, следовательно, получаете только текст этого текстового узла – Kristofer