Извлечь таблицу из веб-вывода - PullRequest
0 голосов
/ 21 мая 2011

Я могу вытянуть веб-страницу в свой код в виде длинной строки. Теперь я хочу удалить все до тега <table> и после тега <table> - поэтому я сохраняю только саму таблицу.

Я думаю об использовании NSScanner или регулярных выражений. Как вы думаете, что более эффективно / проще в управлении кодом? Страница также может (в будущем) содержать две таблицы, и я хотел бы извлечь каждую (одну за другой) для отображения в моем представлении.

Есть идеи?

И заранее спасибо!
Коля

Ответы [ 2 ]

1 голос
/ 04 июня 2012

привет, вы можете использовать этот код

 - (NSMutableArray *)stringFilter:(NSString *)targetString {

        NSScanner *theScanner;
        NSString *text = nil;

        theScanner = [NSScanner scannerWithString: targetString];

        while ([theScanner isAtEnd] == NO) {

            [theScanner scanUpToString:@"<table>" intoString:NULL] ; 

            [theScanner scanUpToString:@"</table>" intoString:&text] ;

           [tempArray addObject:text];

        } 

        return tempArray;

    }

Временный массив будет содержать все строки в табличном теге. Справка с этого сайта

0 голосов
/ 22 мая 2011

Итак - я использовал NSScanner.

// calling a service to extract the webpage as a string..
NSString *thewebpage = [NSString stringWithFormat:@"%@", [self getthewebstring]];
NSString *tmpwebpage = @"";

// Assign 'theScanner' to class NSScanner
NSScanner *theScanner = [NSScanner scannerWithString:tmpwebpage];

// find start of TABLE
[theScanner scanUpToString:@"<h2>Table Header</h2>" intoString:nil];
[theScanner scanUpToString:@"</table>" intoString:&tmpwebpage];
NSString *myTableOnlyData = [tmpwebpage stringByAppendingString:@"</table>"];

Это сработало очень хорошо для меня.
Коля

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...