您的位置:首页 > 其它

DOM数据解析

2015-09-14 19:58 218 查看
- (void)viewDidLoad {

[super viewDidLoad];

// 获得服务器数据.

[self getServerDataWithUrlString:@"http://localhost/resources/vedios2.xml"];

}

- (void)getServerDataWithUrlString:(NSString *)urlString

{

// 1. 创建请求

NSURL *url = [NSURL URLWithString:urlString];

NSURLRequest *request = [NSURLRequest requestWithURL:url];

// 2. 发送请求

[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

// 处理数据

// NSLog(@"data :%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

// DOM 解析

[self XMLDomWithData:data];

// 刷新数据

[self.tableView reloadData];

}];

}

// DOM解析.

- (void)XMLDomWithData:(NSData *)data

{

// 将XML文档加载进来

GDataXMLDocument *dom = [[GDataXMLDocument alloc] initWithData:data options:0 error:NULL];

// 得到根元素的内容

GDataXMLElement *rootElement = dom.rootElement;

// NSLog(@"%@",rootElement.children);

// 遍历跟元素中的子元素

[rootElement.children enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

// 实例化数据模型

CZVideo *video = [[CZVideo alloc] init];

// 获得 vedio 元素

GDataXMLElement *vedioElement = obj;

// NSLog(@"%@",vedioElement.children);

// 遍历 vedio 元素中的子元素

[vedioElement.children enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

//

GDataXMLElement *element = obj;

NSLog(@"%@ %@",element.name, element.stringValue);

[video setValue:element.stringValue forKey:element.name];

}];

// 将数据模型添加到数据源中

[self.videos addObject:video];

}];

// 刷新数据

[self.tableView reloadData];

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: