2017-06-13 15 views
2

XPathを使用してこのテンプレートからtextを取得する方法は?内部テキストを取得する方法

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

私は、全体のdiv一部が//div[@class='c']//text()リターンを知っているが、私はテキストのみをしたいです。

答えて

2

スラッシュが1つ多くあります。

//div[@class='c']/text() 

上記リターンテキストノード:一つのスラッシュが直接div下記のテキストだけが返されていることを確認します。 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]) 
関連する問題