3

jsoup を使用して、div 全体のテキストを抽出する方法を知っています。

<div class="c">
<a href="/relurl.php?refid=7">First Anchor Text</a>
 Something in Between 
 <a href="/john.doe?refid=7">Second Anchor Text</a>
</div>

そのようなdiv.text()結果:

最初のアンカー テキスト 2 番目のアンカー テキストの間にあるもの

a.text()そして、最初の結果が得られるように、各アンカーのテキストを個別に抽出する方法を知っています。

最初のアンカー テキスト

しかし、Jsoupのみ Something in Betweenを抽出するエレガントな方法はありますか?

(もちろん、2を抽出してa.text()「減算」することdiv.text()はできますが、これはエレガントだとは思いません)

4

1 に答える 1

5

を使用しElement#ownText()ます。リンクされた javadoc からの抜粋を次に示します。

独自のテキスト

public String ownText()

この要素のみが所有するテキストを取得します。すべての子の結合テキストを取得するわけではありません。

たとえば、指定された HTML<p>Hello <b>there</b> now!</p>は をp.ownText()返しますが"Hello now!"、をp.text()返します"Hello there now!"b要素の直接の子ではないため、要素内のテキストは返されないことに注意してくださいp

したがって、これは次のようにする必要があります。

String ownText = div.ownText();
// ...
于 2011-05-27T16:37:46.363 に答える