简体   繁体   English

Jsoup 在第一个元素之后选择元素

[英]Jsoup select elements after first element

i want to parse a html table with jsoup.我想用jsoup解析一个html表。

part of the html page i want to parse:我要解析的 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>

how can i select all "tr" elements after (and including) that tr with id "RContents"?我如何选择(包括)id 为“RContents”的 tr 之后的所有“tr”元素? i tried doc.select("tr[id=RContents] > tr");我试过doc.select("tr[id=RContents] > tr"); but that did't work.但这没有用。

您可以使用下一个兄弟姐妹选择器~:

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

you can select tr Elements , then loop through them.您可以选择tr Elements ,然后loop通过它们。 since the elements are in order you can try something like this:因为元素是有序的,你可以尝试这样的事情:

    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