Java Jsoup对元素的迭代会导致重复的输出

Java Jsoup对元素的迭代会导致重复的输出,java,for-loop,jsoup,element,elements,Java,For Loop,Jsoup,Element,Elements,我有一个页面链接,可以从中提取一些数据(我想获取表的一些tds属性)。 我使用循环来通过元素进行迭代,我必须提取一些属性 当然。但我得到了重复的输出 输出应该与我文章末尾的图像类似 Document doc = Jsoup.connect("http://www.saudisale.com/SS_a_mpg.aspx").get(); Elements elements = doc.select("table").select("tbody").select("tr").select("td"

我有一个页面链接,可以从中提取一些数据(我想获取表的一些tds属性)。

我使用循环来通过元素进行迭代,我必须提取一些属性 当然。但我得到了重复的输出

输出应该与我文章末尾的图像类似

Document doc = Jsoup.connect("http://www.saudisale.com/SS_a_mpg.aspx").get();
Elements elements = doc.select("table").select("tbody").select("tr").select("td") ;

for(Element e:elements) {
    System.out.println(e.select("span[id~=Label4]").text() + 
            "\t" + e.select("input[id$=ImageButton1]").attr("src") + 
            "\t" + "" + e.select("span[id~=Label13]").text());
}
这是我得到的输出,它们是重复的!!!:

The output should be like this:-

请尝试下面的代码好吗

The output should be like this:-
    Elements description = doc.select("tbody");
    doc=Jsoup.parse(description.html());
    description = doc.select("td");

    for(int j = 0; j < description.size(); ++ j)
    {
        String bodytext = description.eq(j).text(); // bodytext is the text of each TD
    }
Elements description=doc.select(“tbody”);
doc=Jsoup.parse(description.html());
描述=文件选择(“td”);
对于(int j=0;j
我用递增计数器代替for循环,问题解决了。 其中31是该页上的项目数

以下代码给出了所需的输出

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

System.out.println(elements.select("td").select("span[id~=Label4]").get(i).text()+""+elements.select("td").select("input[id$=ImageButton1]").get(i).attr("src"));   

}

对于(int i=1;i这里是重复项?您能更具体地说明这个重复项吗?@Lrrr例如,以这个e.select(“span[id~=Label4]”)为例。text(),所有元素都打印在第一行,然后每个元素在输出时至少复制两次。猜猜您的顶级css查询“table tbody tr td”太笼统,多次返回某些元素。您应该只选择所需内容。下面将解释此代码的工作原理helpful@mirzapinku这段代码可以工作,但我不想要每个TD的文本,我想垂直提取一些TD的属性作为特定的方式,我的问题是我的代码复制了输出