2017-06-13 64 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])