Jsoup文本"减法"在包含a的div中

ef2*_*011 3 java jsoup

使用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>
Run Code Online (Sandbox Code Playgroud)

这样div.text()得到:

第一个锚文本在第二个锚文本之间的东西

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

第一个锚文本

但Jsoup中有一种优雅的方式只能 提取Something in Between吗?

(我当然可以提取2 a.text()和"减去"它们div.text()但我不认为这优雅)

Bal*_*usC 5

使用Element#ownText().这是链接的javadoc的摘录:

ownText

public String ownText()
Run Code Online (Sandbox Code Playgroud)

获取此元素所拥有的文本; 没有得到所有孩子的组合文本.

例如,给定HTML <p>Hello <b>there</b> now!</p>,p.ownText()返回"Hello now!",而p.text()返回"Hello there now!".请注意,b元素中的文本不会返回,因为它不是p元素的直接子元素.

所以,这应该做:

String ownText = div.ownText();
// ...
Run Code Online (Sandbox Code Playgroud)