我正在使用 XPath 解析 HTML 页面,并希望获取某些特定段落的整个文本,包括链接文本。
例如我有以下段落:
<p class="main-content">
This is sample paragraph with <a href="http://google.com">link</a> inside.
</p>
我需要得到以下文本作为结果:“This is sample paragraph with link inside”,但是应用 "//p[@class'main-content']/text()"
给出我只有“这是内部示例段落”。
你能帮忙吗?谢谢。
最佳答案
要获取节点的全部文本内容,请使用 string
功能:
string(//p[@class="main-content"])
请注意,这会获取一个字符串值。如果您想要文本节点(由 text()
返回),您可以这样做。您需要深入搜索:
//p[@class="main-content"]//text()
这将返回三个文本节点:This is sample paragraph with
、link
和 inside。
关于html - 使用 XPath 获取带有内部链接的段落文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8066461/