2017-06-13 22 views
2

如何使用XPath从此模板检索text如何检索内部文本

<div class="c"> 
<span> a </span> 
     text 
</div> 

我知道//div[@class='c']//text()返回整个div一部分,但我只想要的文字。

回答

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])