我正在使用jsoup解析项目中的以下HTML代码段。
<table>
<tbody>
<tr>
<td class="label">Car</td>
<td class="default"></td>
<td class="label">Car</td>
</tr>
<tbody>
<table>
但是,当我使用下面的代码返回两个“car”元素的索引时,它总是返回0.
Document doc = Jsoup.parse(new File("html.txt"), null);
Elements elements = doc.select("td.label");
for(Element element : elements) {
System.out.println(element.elementSiblingIndex() + " " + element.text());
}
答案 0 :(得分:3)
您收到此输出是因为jsoup
这两个Element
等于:
<td class="label">Car</td>
<td class="label">Car</td>
然后它返回他找到的第一个索引。尝试将Ids设置为元素:
<td id="car1" class="label">Car</td>
<td class="default"></td>
<td id="car2" class="label">Car</td>
您将获得所需的输出:
0 Car
2 Car
您还可以设置不同的类名或文本值,也可以使用。例如:
<td class="label">Car</td>
<td class="default"></td>
<td class="label">Bike</td>
0 Car
2 Bike