簡體   English   中英

Jsoup總是返回元素第一次出現的索引

[英]Jsoup always returns the index of the first appearance of an element

我正在使用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>

然后它返回他找到的第一個索引。 嘗試將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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM