Как я могу получить текст всех дочерних узлов - PullRequest
0 голосов
/ 19 июня 2019

Я хочу получить текст тега и тега span одновременно.

<td class="desc_autoHeight">
                <a rel="nofollow" href="#" target="_blank">Silicon Power</a>
                <br><span class="FreeGift">48 Hours Only</span>
            </td>

Результат должен быть Silicon Power 48 часов только

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

Если $td является рассматриваемым элементом td, то normalize-space($td) дает вам искомую строку, по крайней мере, в этом конкретном примере.

Во многих случаях просто используйте строковое значениеэлемента (который вы можете получить, используя string(), но во многих случаях это неявно) является адекватным.Разница с normalize-space() заключается в том, что он превращает куски пробелов и символов новой строки (например, пробелы перед начальным тегом <a>) в один пробел или удаляет их в начале и в конце.

0 голосов
/ 19 июня 2019

Вот xpath с concat

 concat(//td[@class='desc_autoHeight']/a/text(), ' ', //td[@class='desc_autoHeight']//span[@class='FreeGift']/text())

Скриншот:

enter image description here

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