假设HTML表格如下:
<tr> <td> </td> <th> black </th> <th> white </th> </tr>
<tr> <th> 1st </th> <td> stuff </td> <td> stuff </td> </tr>
<tr> <th> 2nd </th> <td> earth </td> <td> stuff </td> </tr>
<tr> <th> 3rd </th> <td> stuff </td> <td> bingo </td> </tr>
另请注意,我发现表格格式为&#34; bingo&#34;使用XPath,也许使用:
@cell = @table.xpath('.//td[contains(text(), "bingo")]')
(那就是你如何与Nokogiri一起做。)
那么采用@cell并使用它来查找包含此单元格的列顶部的标头的规范方法是什么?
那就是,转向&#34; bingo&#34;的规范方式是什么?进入&#34;白色&#34;和&#34;地球&#34;进入&#34;黑&#34;?
答案 0 :(得分:4)
对于标准化表,来自任何td
或th
“单元格”的相对XPath表达式:
preceding::*[
self::td|self::th
][
position() mod count(../*) = 0
][
last()
]