簡體   English   中英

Jsoup 在第一個元素之后選擇元素

[英]Jsoup select elements after first element

我想用jsoup解析一個html表。

我要解析的 html 頁面的一部分:

<tr>
    <td class="dkHeading">A1</td>
    <td class="dkHeading">A2</td>
    <td class="dkHeading">A3</td>
    <td class="dkHeading">A4</td>
    <td class="dkHeading">A5</td>
    <td class="dkHeading">A6</td>
    <td class="dkHeading">A7</td>
</tr>
<tr id="RContents">
    <td class="dkTextCenter">B1</td>
    <td class="dkTextCenter">B2</td>
    <td class="dkTextCenter">B3</td>
    <td class="dkTextLeft">B4</td>
    <td class="dkTextCenter">B5</td>
    <td class="dkTextCenter">B6</td>
    <td class="dkTextCenter">B7</td>
  </tr>
  <tr>
    <td class="dkTextCenter">C1</td>
    <td class="dkTextCenter">C2</td>
    <td class="dkTextCenter">C3</td>
    <td class="dkTextLeft">C4</td>
    <td class="dkTextCenter">C5</td>
    <td class="dkTextCenter">C6</td>
    <td class="dkTextCenter">C7</td>
  </tr>
  <tr>
    <td class="dkTextCenter">D1</td>
    <td class="dkTextCenter">D2</td>
    <td class="dkTextCenter">D3</td>
    <td class="dkTextLeft">D4</td>
    <td class="dkTextCenter">D5</td>
    <td class="dkTextCenter">D6</td>
    <td class="dkTextCenter">D7</td>
  </tr>

我如何選擇(包括)id 為“RContents”的 tr 之后的所有“tr”元素? 我試過doc.select("tr[id=RContents] > tr"); 但這沒有用。

您可以使用下一個兄弟姐妹選擇器~:

doc.select("tr[id=RContents] ~ tr");

您可以選擇tr Elements ,然后loop通過它們。 因為元素是有序的,你可以嘗試這樣的事情:

    Document document = Jsoup.parse("YOURHTML");

    Elements elements = document.select("tr");

    boolean start=false;
    for(Element e : elements){
        if(e.hasAttr("id") && e.attr("id").equals("RContents"))){   
            start=true;
        }

        if(start){
         //all tr elements including id=RContents and after
        }
    }

暫無
暫無

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

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