【问题标题】:Android Remove First and Last <div> tag from html text using JsoupAndroid 使用 Jsoup 从 html 文本中删除第一个和最后一个 <div> 标签
【发布时间】:2014-03-01 06:36:34
【问题描述】:

我想从 html 文本中删除第一个和最后一个 div 标记。我使用 jsoup 库来解析 html 文本。我尝试了一些在代码中显示的东西。有多个 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
}

【问题讨论】:

  • 如果您以字符串形式获取此数据,而不是使用 div 吐出此数据并添加到数组中并使用循环,您可以删除第一个和最后一个 div。

标签: android html jsoup


【解决方案1】:

这是一个例子:

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 中删除。

【讨论】:

    猜你喜欢
    • 2011-06-10
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 2016-11-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多