Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jsoup从标头中检索特定表_Java_Html_Jsoup - Fatal编程技术网

Java jsoup从标头中检索特定表

Java jsoup从标头中检索特定表,java,html,jsoup,Java,Html,Jsoup,我已经在这方面工作了一段时间,但似乎无法解决如何获得与标题对应的正确表格。这些表被分割成我可以检索的部分,但是在部分中有一个带有表标题的标题。我需要找到标题与字符串匹配的部分,然后从中提取数据。我对从表中获取数据没问题,只是获取了表的正确部分 本节的HTML摘录: <section class="blueTab"> <header><h2>Energy</h2></header> //<----- THE

我已经在这方面工作了一段时间,但似乎无法解决如何获得与标题对应的正确表格。这些表被分割成我可以检索的部分,但是在部分中有一个带有表标题的标题。我需要找到标题与字符串匹配的部分,然后从中提取数据。我对从表中获取数据没问题,只是获取了表的正确部分

本节的HTML摘录:

<section class="blueTab">
            <header><h2>Energy</h2></header> //<----- THE HEADER I NEED TO MATCH TO
            <table class="infoTable">
                <tr><th>Model</th><th>0-60 mph</th><th>Top Speed</th><th>BHP</th><th></th></tr>

                        <tr>
                            <td><p>1.4i 16V Energy 5d</p></td>
                            <td><p>12.8 secs</p></td>
                            <td><p>111 mph</p></td>
                            <td><p>88 bhp</p></td>
                        </tr>

                        <tr class="alternate">
                            <td><p>1.6i 16V Energy 5d</p></td>
                            <td><p>11.5 secs</p></td>
                            <td><p>115 mph</p></td>
                            <td><p>103 bhp</p></td>
                        </tr>

                        <tr>
                            <td><p>1.8i VVT Energy 5d Auto</p></td>
                            <td><p>10.7 secs</p></td>
                            <td><p>117 mph</p></td>
                            <td><p>138 bhp</p></td>
                        </tr>

                        <tr class="alternate">
                            <td><p>1.3 CDTi 16V Energy 5d</p></td>
                            <td><p>12.8 secs</p></td>
                            <td><p>107 mph</p></td>
                            <td><p>88 bhp</p></td>
                        </tr>

            </table>

            <div class="fr topMargin">
                <div id="ctl00_contentHolder_topFullWidthContent" class="modelEnquiry">


<div id="ctl00_contentHolder_topFullWidthContent" class="buttonLinks">

</div>
<div class="cb"><!----></div>

</div>
            </div>
            <div class="cb"><!----></div>
    </section>

精力//

我猜我将不得不在for循环中使用doc.getElementsByClass(“blueTab”),对于每个元素,看看h2是否等于我要寻找的字符串,我只是不确定如何实现这一点。这应该可以解决您的问题

Document doc = Jsoup.parse(input, "UTF-8");
    Elements elem = doc.select(".blueTab header h2");
    for (Iterator<Element> iterator = elem.iterator(); iterator.hasNext();)
    {
        Element element = iterator.next();
        if (element.text().equals("Energy")) // your comparison  text
        {
            Element tableElement = element.parent().nextElementSibling(); //Your got the expected table Element as per your requirement
        }

    }
documentdoc=Jsoup.parse(输入“UTF-8”);
Elements elem=doc.select(“.blueTab头h2”);
for(Iterator Iterator=elem.Iterator();Iterator.hasNext();)
{
Element=iterator.next();
if(element.text().equals(“Energy”)//比较文本
{
Element tableElement=Element.parent().nextElementSibling();//您已根据需要获得所需的表元素
}
}