如何用Jsoup选择文本outisude div

时间:2013-05-04 06:23:22

标签: jsoup gettext

这是我的问题,我有这样的HTML代码。

<div class="article">
     "Some text over here"
      <div class="ads">
            "ads text over here"
      </div>
<div>

我想做的是,我想从div class =“artikel”获取文字。

目前,我已经尝试过这个jsoup代码。

doc.select("div[class=article]").text();

但我从该代码得到的是

  

“这里的一些文字广告文字在这里”

我真正想要的只是获得

  

“有些文字在这里”

是否有人可以帮助我仅使用jsoup的CSS选择器来获取该文本?

我不想使用任何字符串库。

感谢。

2 个答案:

答案 0 :(得分:2)

您可以使用ownText()排除所选元素的所有包含标记元素:

doc.select("div.article").first().ownText();

此外,根据您的要求,您可能也对textNodes()感兴趣:

For example, with the input HTML: 
<p>One <span>Two</span> Three <br> Four</p> with the p element selected:

p.text() = "One Two Three Four"
p.ownText() = "One Three Four"
p.children() = Elements[<span>, <br>]
p.childNodes() = List<Node>["One ", <span>, " Three ", <br>, " Four"]
p.textNodes() = List<TextNode>["One ", " Three ", " Four"]

答案 1 :(得分:0)

你可以这样做 doc.select(“div.article”)。text()。substring(0,22);