如何选择文本outsude div与Jsoup
这是我的问题,我有这样的HTML代码。如何选择文本outsude div与Jsoup
<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选择器来获取文本?
我不想使用任何字符串库。
谢谢。
您可以使用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"]
你可以这样做,就像 doc.select(“div.article”)。text()。substring(0,22);
戴文, 感谢您的回答。但我只想使用CSS选择器来获取文本。 – 2013-05-04 07:50:39
如果你要选择“文章”类的文本,所以它会显示类“文章”中的所有文本,所以可能是我错了,但我想这是不可能得到'在这里的一些文本'使用doc.select(“div [class = article]”)。text();你将不得不使用doc.select(“div [class = article]”)。text()。substring(0,22);为此......请更新我的评论,如果你找到一个好方法做到这一点..谢谢 – 2013-05-04 08:05:55
这是我寻找的..谢谢肯! – 2013-05-05 06:54:07