0

这是我的问题,我有这样的 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 选择器来获取该文本?

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

谢谢。

4

2 回答 2

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"]
于 2013-05-04T09:56:47.270 回答
0

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

于 2013-05-04T07:31:50.803 回答