程序员iOS移动开发社区iOS进阶指南

数据解析XML和JSON

2016-03-31  本文已影响176人  每日总结

XML

这种格式的数据是由一个一个的相互嵌套的标签对组成

解析

路径设置.png
- (void)xmlWithGDataXMLNode{
    // 1.获取文件路径
    NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Teacher" ofType:@"xml"];
    // 2.获取文件中的数据
    NSData *data = [NSData dataWithContentsOfFile:filePath];
    // 3.利用GDataXMLDocument 进行解析数据
    NSError *error = nil;
    GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithData:data options:0 error:&error];//如果出错,error指针会自动吸取错误信息
    // 4.获取所有的信息<Teachers></Teachers>
    GDataXMLElement *rootElement = [document rootElement];
    // 5.获取装载所有<Teacher></Teacher>的数组
    NSArray *childArr = [rootElement children];
    // 6.找到每个<Teacher></Teacher>以及提前给modelArr开辟空间
    self.modelArr = [NSMutableArray array];
    for (GDataXMLElement *oneElement in childArr) {
        // 7.为model开辟空间,便于下面接收数据
        self.tempModel = [[Model alloc] init];
        [_modelArr addObject:_tempModel];
        [_tempModel release];
        // 8.建立属性名的数组,方便下面for循环赋值数据
        NSArray *arr = @[@"name",@"gender",@"age"];
        for (int i = 0 ; i < 3 ; i++) {
            // 9.找到相关属性数组(每个数组里只有一个元素)
            NSArray *aArr = [oneElement elementsForName:arr[i]];
            // 10.找到内容
            GDataXMLElement *aElement = aArr[0];
            // 11.赋值属性
            [_tempModel setValue:{nameElement stringValue] forKey:arr[i]];
        }
    }
}

JSON

这种格式一般是由字典和数组嵌套而成,结构多变

上一篇 下一篇

猜你喜欢

热点阅读