我必须在我的Android应用程序上显示之前更改网页的html代码。这是我的情况:
<html>
<div class="something">
<a class="inner_something">
<span class="title">Titolo1</span>
</a>
</div>
<div class="something">
<a class="inner_something">
<span class="title">Titolo2</span>
</a>
</div>
</html>
我想删除包含text = Titolo2的div
中包含的span
。我怎么能这样做?
答案 0 :(得分:1)
是的,您可以使用Jsoup:
String html = "<html>\n"
+ " <div class=\"something\">\n"
+ " <a class=\"inner_something\">\n"
+ " <span class=\"title\">Titolo1</span>\n"
+ " </a>\n"
+ " </div>\n"
+ "\n"
+ " <div class=\"something\">\n"
+ " <a class=\"inner_something\">\n"
+ " <span class=\"title\">Titolo2</span>\n"
+ " </a>\n"
+ " </div>\n"
+ "</html>";
Document doc = Jsoup.parseBodyFragment(html);
doc.select("div:has(a:has(span:contains(Titolo2)))").first().remove();
System.out.println(doc);
要将已处理的HTML文档加载到WebView
,请执行:
myWebView.loadData(doc.toString(), "text/html", "UTF-8");
您还可以tweak the selector(doc.select("div.something");
)选择并删除您想要的内容。
在您的情况下,这有点棘手:您必须根据内容进行选择,因此请使用:contains(text)
。
要计算某个班级div
的数量,请执行以下操作:
Elements divs = doc.select("div.someclass");
int count = divs.size();
将为您提供课程someclass
的div计数。