我想从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
}
答案 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
中删除。