美文网首页
DOM XML解析

DOM XML解析

作者: Whimer | 来源:发表于2017-08-11 09:40 被阅读0次

    导入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;

    }

    相关文章

      网友评论

          本文标题:DOM XML解析

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