xpath innertext没有任何子节点内容

时间:2012-01-08 01:43:35

标签: xpath xhtml

我有一些像这样的HTML(我无法改变):

<div>
    <p class="name">
        <span>Employee Name: </span>
        John Smith
    </p>
</div>

我想使用xpath来提取“John Smith”部分..

我一直在尝试使用此代码:

//div//p[@class='name']//text()

然而,它不起作用。

实现我追求目标的最佳途径是什么?

非常感谢。

1 个答案:

答案 0 :(得分:5)

你几乎拥有它。

将您的XPath更改为://div//p[@class='name']/text()

当您使用//text()时,它会选择所有后代text()节点,其中包含“员工姓名:”文本节点,该节点是<span>的子节点。

最好尽可能避免使用//,因为它会降低您的表达效率并且更容易出现这类问题。