使用XPath获取带有链接的段落文本

时间:2011-11-09 14:27:43

标签: html xpath

我正在使用XPath解析HTML页面,并希望获取某些特定段落的全文,包括链接文本。

例如我有以下段落:

<p class="main-content">
    This is sample paragraph with <a href="http://google.com">link</a> inside.
</p>

我需要得到以下文字作为结果:“这是带有链接的示例段落”,但是应用"//p[@class'main-content']/text()"只给我“这是带内部的示例段落”。

你能帮忙吗?感谢。

1 个答案:

答案 0 :(得分:7)

要获取节点的全文内容,请使用string功能:

string(//p[@class="main-content"])

请注意,这会获得一个字符串值。如果您想要文本节点(由text()返回),则可以执行此操作。您需要搜索所有深度:

//p[@class="main-content"]//text()

这将返回三个文本节点:This is sample paragraph withlinkinside.