iOS - GData解析XML 数据

匿名 (未验证) 提交于 2019-12-02 23:49:02
  1. string数据
NSError *error = nil;         GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:[responseObject mj_JSONData] error:&error];         GDataXMLElement *rootElem = [doc rootElement];   NSLog(@" children %@ ",rootElem.children);  NSLog(@" childCount %lu ",(unsigned long)rootElem.childCount); /* 打印的数据 children (     "GDataXMLElement 0x600001d3bab0: {type:1 name:string xml:\"<string>1111.pdf</string>\"}",     "GDataXMLElement 0x600001d3bae0: {type:1 name:string xml:\"<string2>2222.pdf</string2>\"}" ) */          NSMutableDictionary *mDic = [NSMutableDictionary new];         for (GDataXMLElement *pointElement in rootElem.children) {             NSString *name = [pointElement name];             NSString *value = [pointElement stringValue];             NSLog(@" -- name  -- %@ ",name);             NSLog(@" -- Value -- %@ ",value);             [mDic setObject:[NSString Jh_replaceNull:value] forKey:[pointElement name]];         }                  NSLog(@" mDic %@ ",mDic);          /*        mDic {          string = "1111.pdf";          string2 = "2222.pdf";       }       */  
  1. array数据
 /* 数据 (  "GDataXMLNode 0x60000391c0f0: {type:3 name:text xml:\"[{\"Key\":\"74\",\"Value\":\"测试01\",\"IsKhdj\":true,\"IsXG\":true},{\"Key\":\"75\",\"Value\":\"测试02",\"IsKhdj\":true,\"IsXG\":true}]\"}" )  直接取 rootElem.stringValue 可取出 NSLog(@" stringValue %@ ",rootElem.stringValue);  
  1. 多层数据

根据XML的key取出

 NSString *strPath = [[NSBundle mainBundle]pathForResource:@"data" ofType:@"xml"];     NSData *data = [NSData dataWithContentsOfFile:strPath];     NSError *error = nil;     GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:data error:&error];     GDataXMLElement *rootElem = [doc rootElement];     NSArray *array = [rootElem elementsForName:@"diqu"];      for (int i = 0; i < array.count; i++) {         GDataXMLElement *Elem = array[i];         NSString *Id = [[Elem attributeForName:@"id"]stringValue];         NSArray *arr = [Elem children];         GDataXMLElement *dqbzElem = [arr objectAtIndex:1];         GDataXMLElement *dqmcElem = [arr objectAtIndex:0];                 NSLog(@"Id: %@,%@,%@",Id,[dqbzElem stringValue],[dqmcElem stringValue]);                  NSMutableDictionary *mdic = [[NSMutableDictionary alloc]init];         [mdic setObject:Id forKey:@"id"];         [mdic setObject:[dqbzElem stringValue]forKey:@"DQBZ"];         [mdic setObject:[dqmcElem stringValue] forKey:@"DQMC"]; //        NSLog(@" mdic %@ ",mdic);        [AllArr addObject:mdic];     } 
文章来源: https://blog.csdn.net/iotjin/article/details/96485884
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!