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()产生:

第一个锚文本在第二个锚文本之间

而且我知道如何分别提取每个锚的文本,以便第一个a.text()产生:

第一个锚文本

但是 Jsoup 中是否有一种优雅的方式来 Something in Between提取?

(我当然可以提取 2a.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 回答