0

我在 iPhone 应用程序中使用 hpple 和 libxml2 解析表。当兄弟单元格使用 colspan 跨越多行时,我在查找列索引时遇到了一个真正的问题。

我看到了这个问题 但我不能使用 jquery 来计算列。

考虑下表

<table>
  <tbody>
    <tr>
      <td>One</td>
      <td>Two</td>
      <td id="example1">Three</td>
      <td>Four</td>
      <td>Five</td>
      <td>Six</td>
    </tr>
    <tr>
      <td colspan="2">One</td>
      <td colspan="2">Two</td>
      <td colspan="2" id="example2">Three</td>
    </tr>
    <tr>
      <td>One</td>
      <td>Two</td>
      <td>Three</td>
      <td>Four</td>
      <td>Five</td>
      <td>Six</td>
    </tr>
  </tbody>
</table>

对于 id 为“example1”的单元格,如何将列索引设为 6 NOT 3?

编辑添加了更多细节

NSString *xpathQuery = [NSString stringWithFormat:@"1 
+ count(//a[contains(@href,'testHref')]
/../preceding-sibling::td[not(@colspan)])
+ sum(//a[contains(@href,'testHref')]/../preceding-sibling::td/@colspan)
+ sum(@colspan)
- count(@colspan)",bookingUrl, bookingUrl];

//Execute XPath
NSArray *array = [parser searchWithXPathQuery:columnCount];
4

1 回答 1

0

这似乎有效:

1 + count(preceding-sibling::td[not(@colspan)])
+ sum(preceding-sibling::td/@colspan)
+ sum(@colspan)
- count(@colspan)

将 xpath<td>作为当前节点运行。

于 2012-08-06T17:25:20.733 回答