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 に答える