JSoup使用循环获取多个值

西蒙

我正在使用JSoup尝试获取一个网站的多个值,该网站仅“幸运地”只有1个TBody标签,并且这样构建:

<tbody>
 <tr>
   <td>2015</td>
   <td>November</td>
   <td class="no-border-left"></td>
   <td class="no-border-left">&euro; 15,90</td>
   <td>
   <a href="/Invoice/Download?invoiceNo=2632992" target="_blank"><img alt="" src="/Content/Images/pdf_icon.png" /></a>                                </td>

  </tr>
  <tr>
   <td>2015</td>
   <td>Oktober</td>
   <td class="no-border-left"></td>
   <td class="no-border-left">&euro; 16,20</td>
   <td>
   <a href="/Invoice/Download?invoiceNo=2445473" target="_blank"><img alt="" src="/Content/Images/pdf_icon.png" /></a> 
   </td>   
 </tr>
       ....
</tbody>

我需要将所有年份(2015年),月份(11月),金额(€15,90)链接(a href =) 通过循环添加到列表视图中。

我已经有了一些代码,但是不知何故我一直坚持获取金额值。我还想稍后使用“链接”值来下载更多内容。

有人可以看一下,请指导我一点吗?谢谢你。

....   
 Elements Tbody = doc.select("TBODY");
   for (Element p : Tbody) {

   Iterator<Element> postIt = p.select("td").iterator();
      String YeaR = postIt.next().text();
      String MontH = postIt.next().text();

      postIt.next();
      postIt.next();

        Element amount = doc.select("td.no-border-left").first();
          String amounT = amount.text();

         Element hrefs = doc.select("a[href]").first();
           String linK = hrefs.text();
   }
  ....
西蒙

好的,我设法解决了这个问题。如果有人遇到相同的问题,请参见以下工作代码:

try {
     CharSequence cs1 = "€";

     is = getActivity().getAssets().open("test.htm");
     Document doc = Jsoup.parse(is, "UTF-8", "http://example.com/");
     Elements rows = doc.select("tr");

        for (int i = 1; i < rows.size(); i++) {

         Element row = rows.get(i);
         Elements cols = row.select("td");
         Elements links = row.getElementsByTag("a");

         String YeaR = cols.get(0).text();
         //Log.e("JSOUP: ", YeaR);
         String MontH = cols.get(1).text();
         //Log.e("JSOUP: ", MontH);

            for (Element tes : cols)
                 if (tes.text().contains(cs1)) {
                     String amounT = tes.text();
                     //Log.e("JSOUP: ", amounT);
                 }
                    for (Element link : links) {
                        String url = link.attr("href");
                        //Log.e("JSOUP: ", url);
                    }
            }

            if (is != null)
                is.close();

            } catch (IOException e) {
                e.printStackTrace();
    }

它给出了输出:

 E/JSOUP:: 2015
 E/JSOUP:: November
 E/JSOUP:: € 15,90
 E/JSOUP:: /Invoice/Download?invoiceNo=2632992
 E/JSOUP:: 2015
 E/JSOUP:: Oktober
 E/JSOUP:: € 16,20
 E/JSOUP:: /Invoice/Download?invoiceNo=2445473

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用JSOUP获取多个项目

来自分类Dev

如何使用 JSoup 从网站获取多个表

来自分类Dev

使用JSoup获取表的数据代码值

来自分类Dev

如何使用JSoup来获取特定值?

来自分类Dev

获取多个循环文本框的值

来自分类Dev

在cakephp中使用/不使用循环获取具有多个索引值的特定数据

来自分类Dev

如何使用jsoup从td的多个类获取数据

来自分类Dev

使用xmllint获取多个值

来自分类Dev

使用jq循环遍历json以获取多个值并将其合并为一行

来自分类Dev

从php循环获取值,并在keyup上获取多个值

来自分类Dev

如何使用for循环获取多个样本?

来自分类Dev

使用Jsoup从特定类获取所有href值

来自分类Dev

Java中如何使用Jsoup获取函数数据的值

来自分类Dev

如何使用循环一一获取枚举值

来自分类Dev

使用循环获取所有元素值

来自分类Dev

如何使用for循环获取对象的值

来自分类Dev

使用循环获取所有元素值

来自分类Dev

如何使用循环获取dir()中的值?

来自分类Dev

使用for循环android获取JSON值

来自分类Dev

从Razor页面中的循环中获取多个选择值

来自分类Dev

如何从foreach循环的linqQuery获取数组中的多个值?

来自分类Dev

使用join在单行中获取多个值

来自分类Dev

使用LINQ获取多个节点值

来自分类Dev

使用jq遍历json以获取多个值

来自分类Dev

使用jq并遍历json并获取多个值

来自分类Dev

使用useState反应形式以获取多个值

来自分类Dev

使用PHP从JSON获取多个键的值

来自分类Dev

js。使用 id 获取多个值

来自分类Dev

使用 1 个查询获取多个值