gpt4 book ai didi

java - Jsoup 总是返回元素第一次出现的索引

转载 作者:行者123 更新时间:2023-11-29 05:02:15 25 4
gpt4 key购买 nike

我正在使用 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());
}

最佳答案

你得到这个输出是因为对于 jsoup 这两个 Element 是相等的:

<td class="label">Car</td>
<td class="label">Car</td>

然后它返回他找到的第一个索引。尝试将 ID 设置为元素:

<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

关于java - Jsoup 总是返回元素第一次出现的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31712235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com