如何使用XPath从此模板中检索text
?
<div class="c">
<span> a </span>
text
</div>
我知道//div[@class='c']//text()
会返回整个div
部分,但我只想要文本。
答案 0 :(得分:2)
有一个斜线太多了。一个斜杠确保仅返回div
正下方的文本:
//div[@class='c']/text()
以上返回文本节点。在XPath或XQuery的许多地方,它们会自动转换为字符串(雾化),但您也可以明确强制转换为字符串:
//div[@class='c']/text()/string()
或者如果您需要清理空格和空文本节点以准确返回text
:
XPath 2.0:
//div[@class='c']/text()/normalize-space()[string-length() gt 0]
XPath 1.0(针对此特定文档):
normalize-space(//div[@class='c']/text()[2])