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

时间:2011-05-27 16:35:16

标签: 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>

这样div.text()产生:

  

第一个锚文本介于两者之间   第二个锚文本

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

  

First Anchor Text

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

(我当然可以从a.text()中提取2 div.text()和“减去”它们,但我不认为这是优雅的)

1 个答案:

答案 0 :(得分:5)

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

  

ownText

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();
// ...
相关问题