ios网络学习------8 xml格式数据的请求处理 用代码块封装

#pragma mark 载入xml
- (void)loadXML
{
    //获取网络数据。
    NSLog(@"load xml");
    //从webserver载入数据
    NSString *str = @"http://www.baidu.com?format=xml";  //这里是乱写的
    //1简历NSURL
    NSURL *url = [NSURL URLWithString:str];
    //2建立NSURLRequest
    NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:2.0f];
    //3建立NSURLConnect的同步方法载入数据
    NSURLResponse *response = nil;
    NSError *error = nil;
    
    
    //同步载入数据
    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
    MyXMLParser *myParser = [[MyXMLParser alloc]init];
    
    //懒载入实例化数据
    if (self.dataList == nil) {
        self.dataList = [NSMutableArray array];
    }else{
        [self.dataList removeAllObjects];
    }
    
    //解析数据
    [myParser xmlParserWithData:data StartName:@"video"
    startElement:^( NSDictionary *dict) {
        //1 实例化currentvideo
        self.currentVideo = [[Video alloc]init];
        //2 设置videoid
        self.currentVideo.videoId = [dict[@"videoId"]integerValue];
    } endElement:^(NSString *elementName, NSString *result) {
        if ([elementName isEqualToString:@"name"]) {
            self.currentVideo.name = result;
        }else if ([elementName isEqualToString:@"length"]){
            self.currentVideo.length = [result integerValue];
        }else if ([elementName isEqualToString:@"videoURL"]){
            self.currentVideo.videoId = [result integerValue];
        }else if ([elementName isEqualToString:@"imageURL"]){
            self.currentVideo.imageURL = result;
        }else if ([elementName isEqualToString:@"desc"]){
            self.currentVideo.desc = result;
        }else if ([elementName isEqualToString:@"teacher"]){
            self.currentVideo.teacher = result;
        }else if ([elementName isEqualToString:@"video"]){
            [self.dataList addObject:self.currentVideo];
        }
    } finishedParser:^{
        self.currentVideo = nil;
        [self.tableView reloadData];   //刷新表格数据
    } errorParser:^{
        NSLog(@"解析出现错误");
        //清空暂时数据
        self.currentVideo = nil;
        //清空数组
        [self.dataList removeAllObjects];
    }];
}