如何获取所有子节点的文本

时间:2019-06-19 03:56:00

标签: xpath

我想同时获取标签和跨度标签的文本。

<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 Hours

2 个答案:

答案 0 :(得分:0)

这是concat的xpath

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

屏幕截图:

enter image description here

答案 1 :(得分:0)

如果$td是有问题的td元素,那么至少在此特定示例中,normalize-space($td)会为您提供所需的字符串。

在许多情况下,仅使用元素的字符串值即可(您可以使用string(),但在很多情况下是隐式的)。与normalize-space()的区别在于,它将空格和换行符的块(例如<a>开始标记之前的空格)转换为一个空格,或者在开始和结束处将其消除。