Jsoup和附件列表

时间:2015-05-25 19:33:55

标签: java android parsing html-parsing jsoup

我是这个HTML块:

ul class="list_attachments"><li>
  <a href="www.site1.com"><img src='pdf.png' alt='pdf'/> File1</a></li><li>
  <a href="www.site2.com"><img src='pdf.png' alt='pdf'/> File2</a></li>
</ul>

我想提取所有&#34; a href&#34;行,特别是站点和名称文件信息。 所以我尝试了这个:

String [] fileName = new String[2];  
String [] url = new String[2];
int i=0;
attachments = document.select(".list_attachments");
for (Element attachment : attachments) {
     String fileName[i] = attachment.text();
     String url[i] = attachment.select("a").attr("href");
     i++;
}

但结果是:

 String fileName = "File1 File2";
 String url = "www.site1.com";

问题是只有一个附件元素而不是我预期的两个。 怎么解决这个?感谢。

1 个答案:

答案 0 :(得分:0)

.select(".list_attachments")只能选择<ul class="list_attachments">,因此只返回Elements<ul>元素。我怀疑您要选择<a ...>中存在的所有.list_attachments元素,然后选择texthref。在这种情况下,您的代码看起来应该更像

Elements anchors = document.select(".list_attachments a");

for (Element anchor : anchors) {
     fileName[i] = anchor.text();
     url[i] = anchor.attr("href");
     i++;
}