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