-2

hpple プラグインを使用して、iphone アプリで html 要素を解析および表示しています。私が抱えている問題は、解析しようとしている Web ページに複数の行を持つテーブルがあることです (これは時々変更される可能性があります)。このテーブルの行数を取得し、各行を反復処理して、各行の異なるテキスト コンテンツを取得するにはどうすればよいですか。これは hpple プラグインで可能ですか?

前もって感謝します。

4

1 に答える 1

0

クラス「tableClass」のテーブルの行を数えるだけの場合は、次のように試してみてください。

 // Count the number of rows in a particular table
 NSString *searchString = [NSString stringWithFormat:@"//table[@class='tableClass']/tr;
 NSArray *tableRows  = [xpathParser search:searchString];
 NSInteger rows = [tableRows count];
 NSLog(@"There are %d table Rows", rows);

 // For loop to step through the rows
 for(int j = 1; j <= rows; j++) {
      searchString = [NSString stringWithFormat:@"//table[@class='tableClass']/tr[%d]/td", j];
      NSArray *tableCells  = [xpathParser search:searchString];
 }

これは、テーブルを1行ずつステップ実行し、個々のデータセルをスクレイプするたびに実行する必要があります(テストしなかったため、保証はありません)。これに伴う問題は、テーブルに数個以上あると非常に遅くなることです。行。

テーブルを呼び出して、テーブルからすべてのtdセルを一度にスクレイピングしてから、それらが行を構成する方法を決定する方がよいでしょう。行のセル数が一定であれば、この方法は簡単です。

于 2011-10-30T22:25:04.397 に答える