Jsoup选择器用于获取div id文本

时间:2014-06-11 17:33:43

标签: javascript android jquery html jsoup

我有一个像这样的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帮助我解决了这个问题。

2 个答案:

答案 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();