选择jsoup中的每个html元素

时间:2017-07-24 12:58:35

标签: java css-selectors jsoup

我是jsoup的初学者,我的html文档看起来像这样:



<div class="myclass">
<ul>
<li style="width: 32%;border-right: 1px solid #ddd;"><img src="image.png"<br>val </li>
<li><img src="/vinfo/imgFiles/no.png"><br>val2 </li>
<li><img src="/vinfo/imgFiles/no.png"><br>val3 </li>
<li class="noborder" style="border: 0px;"><img src="/vinfo/imgFiles/in-the-wild.png"><br>val4 </li>
</ul>
</div>
&#13;
&#13;
&#13;

我想选择每个<li>元素的值,但是所有元素都一次存储在元素中(jsoup);这是我尝试在存储到列表中之前测试输出的内容:

Elements elt = page.select("div.iconDetails > ul");
int = 0;
for (Element el : elt){
    System.out.println(el.select("li"));
    i++;
    System.out.println(i);
}

结果如下:

&#13;
&#13;
<li style="width: 32%;border-right: 1px solid #ddd;"><img src="/vinfo/imgFiles/trojan.png"><br>val </li>
<li><img src="/vinfo/imgFiles/no.png"><br>val1</li>
<li><img src="/vinfo/imgFiles/no.png"><br>val2 </li>
<li class="noborder" style="border: 0px;"><img src="/vinfo/imgFiles/in-the-wild.png"><br>val3 </li>
1
&#13;
&#13;
&#13;

我想拥有的是:

<li style="width: 32%;border-right: 1px solid #ddd;"><img src="/vinfo/imgFiles/trojan.png"><br>val </li>
1
<li style="width: 32%;border-right: 1px solid #ddd;"><img src="/vinfo/imgFiles/trojan.png"><br>val </li>
2
<li style="width: 32%;border-right: 1px solid #ddd;"><img src="/vinfo/imgFiles/trojan.png"><br>val </li>
3
<li class="noborder" style="border: 0px;"><img src="/vinfo/imgFiles/in-the-wild.png"><br>val3 </li>
4

计数器只是为了确保我有4个结果。

2 个答案:

答案 0 :(得分:2)

试试这段代码:

Elements elts = page.select("div.iconDetails > ul > li");
for (int i= 0; i<elts.size();i++){
     Element elt = elts.get(i);
     System.out.println(elt.text());

}

答案 1 :(得分:1)

所以我只需选择&#34; ul&gt; li&#34;像这样:

Elements elt = page.select("div.iconDetails > ul > li");
int = 0;
for (Element el : elt){
System.out.println(el);
i++;
System.out.println(i);
} 

它就像一个魅力