使用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()
和“减去”它们,但我不认为这是优雅的)
答案 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();
// ...