Android使用Jsoup </div>从html文本中删除First和Last <div>标记

时间:2014-03-01 06:36:34

标签: android html jsoup

我想从html文本中删除第一个和最后一个div标记。我使用jsoup库来解析html text.i尝试了一些在代码中显示的东西。具有多个div标签或不是的html文本,但我想删除第一个和最后一个div标签(如果可用)。请帮我。提前谢谢。

 public String divremove(String html) {
    Document doc = Jsoup.parse(html);

    for (Element e : doc.select("div")){
        if (e != null) {
            Log.e("LOG","link  >> " + e.text());
        }
    }
/*  Element link = doc.removeClass("div");
    if (link != null) 
    {
    }
    Integer in = doc.select("div").first().elementSiblingIndex();*/

    Element link = doc.select("div").first();
    Log.e("LOG","link  >> " + link);
    Element link2 = doc.select("div").last();
    Log.e("LOG","link2  >> " + link2.text());
    return html;//formatted
}

1 个答案:

答案 0 :(得分:3)

以下是一个例子:

final String html = "<div>A</div><div>B</div><div>C</div><div>D</div>";
Document doc = Jsoup.parse(html);


// (1) - Remove from html
doc.select("div").first().remove();
doc.select("div").last().remove();

System.out.println(doc.body());


// (2) - Remove from list
Elements divs = doc.select("div");
divs.remove(0);
divs.remove(divs.size()-1);

System.out.println(divs);

(1)会从html中删除第一个和最后一个标记,因此doc将不再包含它们。如果您只想从所选div中删除它们,请改用(2)。这会将其保留在您的html(= doc)中,但会从divs中删除。