Java Jsoup总是返回元素第一次出现的索引
在我的项目中,我正在使用jsoup解析以下HTML片段Java Jsoup总是返回元素第一次出现的索引,java,dom,jsoup,Java,Dom,Jsoup,在我的项目中,我正在使用jsoup解析以下HTML片段 <table> <tbody> <tr> <td class="label">Car</td> <td class="default"></td> <td class="label">Car</td> </tr>
<table>
<tbody>
<tr>
<td class="label">Car</td>
<td class="default"></td>
<td class="label">Car</td>
</tr>
<tbody>
<table>
您获得此输出是因为对于
jsoup
这两个元素
相等:
<td class="label">Car</td>
<td class="label">Car</td>
您还可以设置不同的类名或文本值,这样也可以正常工作。例如:
<td class="label">Car</td>
<td class="default"></td>
<td class="label">Bike</td>
0 Car
2 Bike
汽车
自行车
0车
2辆自行车
如果我无法更改HTML内容,有什么方法可以做到吗?@rookiedev我能想到的最简单的方法是选择所有td
s,对它们进行迭代,只对那些带有标签的类做出反应。类似于(除非我误解了什么)。是的@Pshemo,这很有效,但是你错过了选择器的力量。正如我提到的,这是我目前唯一能找到有效方法的方法。但是你是对的,如果有一些jsoup选择器或方法允许我们避免(i…)
的,那么最好使用它。
<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