DOM XML解析

导入GData第三方

#define  TEST_URL @"__________________"

@implementation ViewController

- (void)viewDidLoad {

[super viewDidLoad];

NSURLSession *session = [NSURLSession sharedSession];

NSURL *url = [NSURL URLWithString:TEST_URL];

NSURLSessionDataTask *task = [session dataTaskWithURL:url completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

//创建对象 将二进制数据缓存到内存中

GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];

//获得根标签内容

GDataXMLElement *rootEle = [doc rootElement];

//获得根标签里的hero标签

NSArray *heroArr = [rootEle elementsForName:@"hero"];

arr = [[NSMutableArray alloc] init];

//遍历

for (GDataXMLElement *heroEle in heroArr) {

Hero *he = [[Hero alloc] init];

//////////////////////////////////////////

//获得name标签的数组 (即便只有一个标签对 也会放入数组)

NSArray *nameArr = [heroEle elementsForName:@"name"];

//因为数组中只有一个数据 则直接取第0个下边的标签即可

//获取name标签

GDataXMLElement *nameEle = [nameArr objectAtIndex:0];

//            GDataXMLElement *nameEle = [nameArr firstObject];

//            GDataXMLElement *nameEle = [nameArr lastObject];

//去掉标签 寒冰

he.name = [nameEle stringValue];

//////////////////////////////////////////////

//////////////////////////////////////////

he.like = [[[heroEle elementsForName:@"like"] firstObject] stringValue];

/////////////////////////////////////////

[arr addObject:he];

}

}];

[task resume];

//初始化一个表格

_table = [[UITableView alloc]initWithFrame:self.view.frame style:UITableViewStylePlain];

//设置代理

_table.delegate = self;

_table.dataSource = self;

//加载

[self.view addSubview:_table];

}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{

return arr.count;

}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{

static NSString *cellID = @"fang";

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID];

if (!cell) {

cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellID];

}

cell.textLabel.text = [arr[indexPath.row] name];

cell.detailTextLabel.text = [arr[indexPath.row] like];

return cell;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容