您的位置:首页 > 理论基础 > 计算机网络

IOS网络第二天 - 04-黑酷-GDataXML 解析

2015-09-14 16:19 411 查看
******

- (void)viewDidLoad
{
[super viewDidLoad];

/**
加载服务器最新的视频信息
*/

// 1.创建URL
NSURL *url = HMUrl(@"video?type=XML");

// 2.创建请求
NSURLRequest *request = [NSURLRequest requestWithURL:url];

// 3.发送请求
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
if (connectionError || data == nil) {
[MBProgressHUD showError:@"网络繁忙,请稍后再试!"];
return;
}

// 解析XML数据

// 加载整个XML数据
GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];

// 获得文档的根元素 -- videos元素
GDataXMLElement *root = doc.rootElement;

// 获得根元素里面的所有video元素
NSArray *elements = [root elementsForName:@"video"];

// 遍历所有的video元素
for (GDataXMLElement *videoElement in elements) {
HMVideo *video = [[HMVideo alloc] init];

// 取出元素的属性
video.id = [videoElement attributeForName:@"id"].stringValue.intValue;
video.length = [videoElement attributeForName:@"length"].stringValue.intValue;
video.name = [videoElement attributeForName:@"name"].stringValue;
video.image = [videoElement attributeForName:@"image"].stringValue;
video.url = [videoElement attributeForName:@"url"].stringValue;

// 添加到数组中
[self.videos addObject:video];
}

// 刷新表格
[self.tableView reloadData];
}];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: