文档章节

xml解析

欧苏嘎
 欧苏嘎
发布于 2016/03/31 19:15
字数 158
阅读 2
收藏 0

//获取数据
-(void)getData
{
    NSURL *url =[NSURL URLWithString:URL];
    NSURLRequest *req =[NSURLRequest requestWithURL:url];


    [[[NSURLSession sharedSession]dataTaskWithRequest:req completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

 
        dispatch_async(dispatch_get_main_queue(), ^{
           
            id obj =[self getURLData:data];
            
            if (obj!=nil) {
                self.PassBlosk(obj,YES);
            }else
            {
                NSLog(@"fail");
            }
        });
    }]resume];
}
//封装
-(id)getURLData:(NSData *)data
{
    GDataXMLDocument *document = [[GDataXMLDocument alloc] initWithData:data options:0 error:nil];
    //获取根目录
    GDataXMLElement *rootElement = [document rootElement];
    NSArray *provinc = [rootElement elementsForName:@"provinc"];
    NSMutableDictionary *alldic = [[NSMutableDictionary alloc] init];

    for (GDataXMLElement *provincElement in provinc) {
        //得到name 属性
        NSString *name = [[provincElement attributeForName:@"name"]stringValue];
        NSMutableArray *sss = [[NSMutableArray alloc] init];
        
        //加到字典中
        [alldic setObject:sss forKey:name];
        //得到element
        NSArray *elementArr = [provincElement elementsForName:@"element"];
        
        for (GDataXMLElement *nameElement in elementArr) {
            NSString *big = [[nameElement attributeForName:@"type"]stringValue];
            NSString *lit = [[[nameElement elementsForName:@"name"]lastObject]stringValue];
            
            Data *m = [[Data alloc] init];
            m.bigCity = big;
            m.littleCity = lit;
            [sss addObject:m];
            m= nil;
        }
    }
    return alldic;
}





© 著作权归作者所有

共有 人打赏支持
上一篇: 本地视频播放
下一篇: 音乐模型
欧苏嘎
粉丝 0
博文 16
码字总数 5494
作品 0
海淀
高级程序员
私信 提问

暂无文章

如何开发一款以太坊(安卓)钱包系列2 - 导入账号及账号管理

这是如何开发一款以太坊(安卓)钱包系列第2篇,如何导入账号。有时用户可能已经有一个账号,这篇文章接来介绍下,如何实现导入用户已经存在的账号。 导入账号预备知识 从用户需求上来讲,导...

Tiny熊
今天
3
0
intellJ IDEA搭建java+selenium自动化环境(maven,selenium,testng)

1.安装jdk1.8; 2.安装intellJ; 3.安装maven; 3.1 如果是单前用户,配置用户环境变量即可,如果是多用户,则需配置系统环境变量,变量名为MAVEN_HOME,赋值D:\Application\maven,往path中...

不最醉不龟归
今天
4
0
聊聊ShenandoahGC的Brooks Pointers

序 本文主要研究一下ShenandoahGC的Brooks Pointers Shenandoah Shenandoah面向low-pause-time的垃圾收集器,它的GC cycle主要有 Snapshot-at-the-beginning concurrent mark包括Init Mark(P......

go4it
昨天
4
0
Makefile通用编写规则

#简单实用的Makefile模板: objs := a.o b.o test:$(objs) gcc -o test $^ # .a.o.d .b.o.d dep_files := $(foreach f,$(objs),.$(f).d) dep_files := $(wildcard $(dep_files)) ifneq ($(d......

shzwork
昨天
3
0
《万历十五年》的读后感作文4000字

《万历十五年》的读后感作文4000字: 万历十五年,即1587年,距今已过去432年。在明朝276的历史中,这一年很平淡,并没有什么特别之处。黄仁宇的《万历十五年》一书,有别于其他的历史叙述方...

原创小博客
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部