2

我同时有大约 15 个用于 XML 解析的 URL。我正在使用 KMXML Parser 进行 XML 解析。

如何使用线程同时进行解析。如何处理解析后的响应。我如何将这些响应存储在 Sql-lite 数据库中。

我的解析代码如下:

 NSArray* yourURLs = [NSArray arrayWithObjects:@"http://www.designworldonline.com/rss/",@"http://www.3dcadtips.com/feed/",@"http://feeds.feedburner.com/MakePartsFast",@"http://www.designworldonline.com/category/technologies/electricalelectronic/feed", nil];

for(NSString* url in yourURLs) {
        [self performSelectorInBackground:@selector(parse:) withObject:url];
    }

-(void)parse:(NSString*)link {

KMXMLParser *parser = [[KMXMLParser alloc] initWithURL:link delegate:self];
    _parseResults = [parser posts];

     [self performSelectorOnMainThread:@selector(update)  withObject:_parseResults waitUntilDone:NO];

}

-(void)update
{
 [pd addObject:_parseResults];
}

但是使用这种编码, _parseresults=[parser posts];只为最后一个链接而不是每个链接调用。

我得到数组pd中的响应仅来自最后一个链接和 9 次。我不知道为什么只在最后一次调用解析方法。

4

2 回答 2

0

使用 Operation Queue,然后将所有操作添加到 Operation Queue 中。

查看此链接... http://developer.apple.com/library/mac/#samplecode/NSOperationSample/Introduction/Intro.html%23//apple_ref/doc/uid/DTS10004184

希望它会有所帮助

快乐编码。

于 2012-12-11T07:19:41.830 回答
0

尝试使用框架会非常有帮助

https://github.com/AFNetworking/AFNetworking

https://github.com/pokeb/asi-http-request

于 2012-12-11T07:22:59.407 回答