<table>
<tr class="offMiddle bordertop">
<td></td>
<td><strong>12:00</strong>
</td>
<td>02:00</td>
<td><div><input type="radio" value="T"></div></td>
</tr>
<div>should be ignored</div>
<tr class="offMiddle">
<td></td>
<td>17:00</td>
<td><strong>12:30</strong>
</td>
</tr>
<tr class="offMiddle bordertop">
<td></td>
<td><strong>19:00</strong>
</td>
<td>13:30</td>
<td><div><input type="radio" value="T"></div></td>
</tr>
<div>should be ignored</div>
<tr class="offMiddle">
<td></td>
<td><strong>09:15</strong>
</td>
<td>02:00</td>
</tr>
<tr class="offMiddle bordertop">
<td></td>
<td><strong>16:00</strong>
</td>
<td>02:50</td>
<td><div><input type="radio" value="T"></div></td>
</tr>
<tr class="offMiddle">
<td></td>
<td><strong>12:00</strong>
</td>
<td>02:00</td>
</tr>
<div>should be ignored</div>
</table>
我有一个包含6行的表格。我想将第一行和第二行作为单个元素返回,以及第三行和第四行,第五行和第六行。理想情况下,我想将这些部分中的每一部分作为包含所选两行的元素返回。
目前我有:
//table/tr[contains(@class, 'offMiddle bordertop')] | //table/tr[contains(@class, 'offMiddle bordertop')]/following-sibling::tr[contains(@class, 'offMiddle')]
选择下面的表行而不包含应忽略的div:
<tr class="offMiddle bordertop">
<td></td>
<td><strong>12:00</strong>
</td>
<td>02:00</td>
<td><div><input type="radio" value="T"></div></td>
</tr>
<tr class="offMiddle">
<td></td>
<td>17:00</td>
<td><strong>12:30</strong>
</td>
</tr>
<tr class="offMiddle bordertop">
<td></td>
<td><strong>19:00</strong>
</td>
<td>13:30</td>
<td><div><input type="radio" value="T"></div></td>
</tr>
<tr class="offMiddle">
<td></td>
<td><strong>09:15</strong>
</td>
<td>02:00</td>
</tr>
<tr class="offMiddle bordertop">
<td></td>
<td><strong>16:00</strong>
</td>
<td>02:50</td>
<td><div><input type="radio" value="T"></div></td>
</tr>
<tr class="offMiddle">
<td></td>
<td><strong>12:00</strong>
</td>
<td>02:00</td>
</tr>
但是我需要返回类似[(1, 2), (3, 4), (5, 6)]
之类的内容。我希望能够使用类似// tr / td / strong / text()的表达式从每个分组元素中提取数据。
这可能吗?