我正在尝试仅处理列表中<a>
类型的元素:
int i = 0;
for (Element el : els) {
i++;
Log.w(TAG, "--------------------------");
Log.w(TAG, "el(" + i + "): " + el.html());
if (el.tagName().contentEquals("a")) {
Log.d(TAG, "<a> only! el(" + i + "): " + el.html());
}
}
但LogCat输出仅显示Log。 w (),而不是Log。 d (),尽管我可以在日志中清楚地看到。 strong> w ()输出有<a>
类型的元素:
--------------------------
el(1):
--------------------------
el(2): <a href="http://www.ddd.tld/article/ar01.html?mod=Header"><em>Subject1:</em> One line of text </a>
--------------------------
el(3):
--------------------------
el(4):
--------------------------
el(5): <a href="http://www.ddd.tld/article/ar02.html?mod=Header"><em>Subject Two:</em> Another line of text </a>
--------------------------
el(6):
--------------------------
el(7):
--------------------------
el(8): <img src="images/sub_key.gif" /> <a href="http://www.ddd.tld/article/ar03.html?mod=Header"><em>Subject Three:</em> Yet another line of text </a>
--------------------------
el(9):
--------------------------
el(10):
我错过了什么?我做错了什么?
答案 0 :(得分:1)
选择具有<a>
标记的所有元素的正确方法是使用CSS选择器。您可以在Elements
对象上使用它。要将List<Element>
转换为Elements
,您只需使用Elements(Element... elements)
构造函数,如下所示:
Elements webPage = new Elements(els);
由此,您可以使用CSS Selectors提取Element
,如下所示:
Elements aTags = webPage.select("a");
然后您可以遍历这些并按照您的意愿进行操作。