美文网首页
【IOS】AFNetworking 2.0中XML请求处理专题

【IOS】AFNetworking 2.0中XML请求处理专题

作者: oneDemo | 来源:发表于2015-07-31 10:47 被阅读806次

1.1    XML请求处理

1.1.1  xml处理机制

因为AFNetworking2.0中,对于响应返回的xml格式没有做专门的解析处理,因此需要开发者自己来做处理。在笔者的项目中,使用了一个叫AFGDataXMLRequestOperation的第三方类库来统一处理。

该库的xml解析逻辑基于GDataXML-HTML类库。不过类库处理逻辑应该还是基于AFNetworking 1.0版本,有两处需要做适配修改,不然调试不过:

1、在responseXMLDocument方法中,将responseXMLDocument的初始化方法做了调整;

2、在setCompletionBlockWithSuccess方法中,将失败Queue self.failureCallbackQueue与成功Queueself.successCallbackQueue 统一修改为self.completionQueue

AFGDataXMLRequestOperation下载地址:

https://github.com/graetzer/AFGDataXMLRequestOperation

GDataXML-HTML库下载地址:

https://github.com/graetzer/GDataXML-HTML

1.1.2 范例代码

NSURLRequest* request = [[NSURLRequestalloc]initWithURL:[[NSURLalloc]initWithString:@"http://rss.sina.com.cn/tech/index.shtml"]];

AFGDataXMLRequestOperation* xmlOpera = [AFGDataXMLRequestOperationXMLDocumentRequestOperationWithRequest:requestsuccess: ^(NSURLRequest* request,NSHTTPURLResponse* response,GDataXMLDocument* xmlDoc) {

GDataXMLElement* elem = [[[xmlDocrootElement]elementsForName:@"REC"]objectAtIndex:0];

NSLog(@"XMLDocumentFirst Node Name: %@", [elemattributeForName:@"name"]);

}failure:^(NSURLRequest*request,NSHTTPURLResponse* response,NSError* error,GDataXMLDocument* xmlDoc){

NSLog(@"requestFlagshipStoreDataError: %@", error);

}];

[xmlOperastart];

相关文章

网友评论

      本文标题:【IOS】AFNetworking 2.0中XML请求处理专题

      本文链接:https://www.haomeiwen.com/subject/pyxvqttx.html