Android - 使用JSOUP导出子节点的父节点
Android - Derive the parent node of a child node using JSOUP
我必须更改网页的 html 代码才能在我的 Android 应用程序上显示它。这是我的情况:
<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>
我想删除包含其中的 div
和包含 text= Titolo2 的 span
。我该怎么做?
是的,你可以用 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");
) 到 select 并删除您想要的内容。
在你的情况下,这有点棘手:你必须 select 基于内容,所以使用 :contains(text)
.
要计算某个 class 的 div
的数量,请执行以下操作:
Elements divs = doc.select("div.someclass");
int count = divs.size();
将为您提供 class someclass
.
的 div 数量
我必须更改网页的 html 代码才能在我的 Android 应用程序上显示它。这是我的情况:
<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>
我想删除包含其中的 div
和包含 text= Titolo2 的 span
。我该怎么做?
是的,你可以用 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");
) 到 select 并删除您想要的内容。
在你的情况下,这有点棘手:你必须 select 基于内容,所以使用 :contains(text)
.
要计算某个 class 的 div
的数量,请执行以下操作:
Elements divs = doc.select("div.someclass");
int count = divs.size();
将为您提供 class someclass
.