私はテーブル内の多くのテーブル行の中にこのhtmlを持っています:
.........
<tr class="greycellodd" align="right">
<td align="left">
<input type="checkbox" name="cashInvestment" value="100468057"/>
</td>
<td align="left">Cardcash
</td>
<td class="nobr">26 Aug 10</td>
<td class="nobr"> 1.00
</td>
<td class="nobr"> 1.00
</td>
<td align="right">£</td>
<td class="nobr">0.00 </td>
<td class="nobr">0.00 </td>
<td class="nobr">
<span class="changeupsmall">1.00 </span>
</td>
</tr>
<tr class="greycellodd">
<td align="right"/>
<td class="nobr" colspan="8">VISA</td>
</tr>
<tr class="greycelleven" align="right">
<td align="left">
<input type="checkbox" name="cashInvestment" value="100480214"/>
</td>
<td align="left">Santander
</td>
<td class="nobr">24 Sep 11</td>
<td class="nobr"> 1.00
.......
各チェックボックスタグの間のすべてを抽出する必要があります
<input type="checkbox" name="cashInvestment" ../>
例
要素1:
Cardcash
26 Aug 10
1.00
1.00
£
0.00
0.00
1.00
VISA
要素2:
Santander
24 Sep 11
1.00
.......
私が試してみました:
Elements Inve = mainFirst.select("input ~ *" );
と
Elements Inve = doc.select("input"); // gives me nothing as there is no text to the input tag (it has no child).
また、チェックボックスの値を取得する必要があります。これは、実行方法を知っていますが、可能であれば同時に実行するとよいでしょう。
Elements mainTables = doc.select("table.maintable");
for (Element subTable : mainTables){
Elements borrowInve = subTable.select("input[type=checkbox][name=cashInvestment]" );
String attr = test.attr("value");
}
ありがとう
編集:サイズをチェックすることで解決:
Elements td = tableRows.get(i).select("td");
Elements cash = tableRows.get(i).getElementsByAttributeValue("name", attrValue); // check if checkbox is present
int theSize = cash.size();
if(theSize ==1){ // this row is not a comment
String checkbox = "";
Element cbox = td.select("input[type=checkbox]" ).first();
checkbox = cbox.attr("value");
else if (theSize ==0){ // this row contains a comment
.............