2011-07-20 22 views
1

ねえ、これを回避することはできません。Xpathノードなしのノードの子コンテンツ

単なるテキストである私は何を取得しようとしています
<div class="review-text"> 
<div id="reviewerprofile"> 
<div id="revimg"></div> 
<div id="reviewr">marc</div> 
<div id="revdate">2011-07-06</div> 
</div> 
this is an awesome review 

</div> 

「これは素晴らしいレビューです」しかし、私は、ノードを照会everytyme私もお子様の中の他のコンテンツを取得:私は次のように構成されたHTMLを持っています。今のようなものを使って ".//div[@class='review-text ']"そのテキストだけを得る方法?あなたは大変タンクします

答えて

1

あなたはほぼそこにいます! XPathの最後に/ text()を追加するだけで、テキストノードを取得できます。

0

// divなどのXPath式は、ノードのセットを返します。この場合はdiv要素です。実際には元のツリーの元のノードへのポインタです。ノードは依然として親、子、祖先、および兄弟に接続されています。 div要素の子を見て、それらが欲しくない場合、それはXPathプロセッサの欠陥ではなく、XPath式によって返される結果を処理しているソフトウェアが何であれ間違いです。

div要素の直下にあるテキストは、/ text()を使用して得ることができます。しかし、これは、あなたがHTMLページで見つかるものを正確に知っていることを前提としています。「素晴らしい」がイタリック体であれば、それはあなたに何か異なるものを与えます。

関連する問題