如何使用 XPath 从此模板检索文本
?
<div class="c">
<span> a </span>
text
</div>
我知道 //div[@class='c']//text()
返回整个 div
部分,但我只想要文本。
最佳答案
斜杠太多了。一个斜杠确保仅返回 div
正下方的文本:
//div[@class='c']/text()
上面返回文本节点。在 XPath 或 XQuery 的许多地方,它们会自动转换为字符串(原子化),但您也可以显式强制转换为字符串:
//div[@class='c']/text()/string()
或者如果您需要清理空格和空文本节点以准确返回文本
:
XPath 2.0:
//div[@class='c']/text()/normalize-space()[string-length() gt 0]
XPath 1.0(针对此特定文档):
normalize-space(//div[@class='c']/text()[2])
关于html - 如何检索内部文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44514088/