我有一个像这样的HTML:
<div class="A">
<div class="B">
<span class="C" id="important">
<strong>1234</strong>
</span>
</div>
</div>
我需要获取内部的值,即&#34; 1234&#34;。
使用Jquery我会用,
$(&#34;#重要&#34)。文本()
但是我如何在JSoup中做到这一点,
我试过
doc.select(&#34;#重要&#34)。第一()文本()
但它返回null异常,说找不到这样的元素。我在这里做错了什么?
UPADTE: Jsoup Simulator帮助我解决了这个问题。
答案 0 :(得分:1)
public static void main(String[] args) {
Document doc = Jsoup.parse("<div class=\"A\">\r\n" +
" <div class=\"B\">\r\n" +
" <span class=\"C\" id=\"important\">\r\n" +
" <strong>1234</strong>\r\n" +
" </span>\r\n" +
" </div>\r\n" +
"</div>");
System.out.println(doc.select("#important").first().text());
}
以上代码返回1234。
很明显,其他东西是空的。将代码分成这样:
System.out.println(doc);
Elements select = doc.select("#important");
System.out.println(select);
Element first = select.first();
System.out.println(first);
String text = first.text();
System.out.println(text);
你会发现是什么情况。
答案 1 :(得分:1)
doc.select("#important").children().first().text();