• 第三方库GDataXMLNode的配置及使用(XML解析)


    1、具体配置过程如下:
    第一步、把下载好的GDataXMLNode.h和GDataXMLNode.m拖到工程里面,随便把要解析的文件放到工程里面,可以解析网络请求的数据,我只举本地的例子
    第二步、打开GDataXMLNode.h,找到如下图所示的地方,如果没有,不要慌,按照我下面描述的步骤操作,图中标出的四个地方都是我们要配置的重要信息
     
    第三步、导入依赖库 ,找到工程target ,然后点击Build Phases,选择第三项Link Binary With Libraries展开,点击+号,在弹出框中输入XML进行搜索,选择libxml2.2.tbd或者libxml2.tbd都可以,然后点击Add
     
     
    第四步、找到Build Settings,在搜索框搜索head,回车找到Search Paths里面的Header Search Paths这一选项,然后双击弹出框那个箭头位置,点击+号,复制上面第2个重要信息里面的内容,粘贴到第5里面的框内,第6为配置以后的信息
     
     
    第五步、继续在Build Settings里面搜索框搜索other,见下图1,然后找到Other Linker Flags,见下图2,然后双击弹出框那个箭头位置,点击+号,复制第二步里面的第4个信息粘贴到框里面,回车效果见下图5
     
    第六步、找到Build Phases ,展开Complie Sources, 双击弹出框的位置,输入-fno-objc-arc,此命令的意思为在ARC状态下也能使用GDataXMLNode第三方类库
     
    配置结束,现在你应该可以调用GDataXMLNode类库的方法了
    2、这是我读取本地的XML文件的代码如下,网络请求的数据使用类似
    #import "ViewController.h"
    //导入头文件
    #import "GDataXMLNode.h"
    @interface ViewController ()

    @end

    @implementation ViewController

    - (void)viewDidLoad {
        [super viewDidLoad];
       
        //初始化可变集合,在ViewController.h里面定义一个可变集合arrM
        self.arrM=[NSMutableArray array];
        
        //获取路径
        NSString *path=[[NSBundle mainBundle] pathForResource:@"person" ofType:@"xml"];
        NSData *xmldata=[[NSData alloc] initWithContentsOfFile:path];
       
        //使用NSdata对象初始化
        GDataXMLDocument *doc=[[GDataXMLDocument alloc] initWithData:xmldata options:0 error:nil];
       
        //获取根节点
        GDataXMLElement *rootelement=[doc rootElement];
       
        //获取根节点下的节点
        NSArray *User=[rootelement elementsForName:@"User"];
       
        for (GDataXMLElement *user in User)
        {
            //获取User节点的id属性
            NSString *userID=[[user attributeForName:@"id"]stringValue];
            NSLog(@"%@",userID);
           
            //获取name节点的值
            GDataXMLElement *namelement=[[user elementsForName:@"name"]objectAtIndex:0];
            NSString *name=[namelement stringValue];
            NSLog(@"%@",name);
           
            //获取age节点的值
            GDataXMLElement *agelement=[[user elementsForName:@"age"]objectAtIndex:0];
            NSString *age=[agelement stringValue];
            NSLog(@"%@",age);
           
            //将的到的name,age,id先放到一个字典,然后在拼接成一个集合
            NSMutableDictionary *dic=[NSMutableDictionary dictionary];
            [dic setObject:userID forKey:@"id"];
            [dic setObject:name forKey:@"name"];
            [dic setObject:age forKey:@"age"];
            [self.arrM addObject:dic];
        }
        NSLog(@"%@",self.arrM);
     
    初学者总结!
  • 相关阅读:
    mac升级后,遇到openssl相关问题
    mysql清空所有表
    composer 管理js css等依赖文件【fxp/composer-asset-plugin】
    php安装pcntl
    git命令
    docker
    OAuth 2.0
    mysql杯观锁与乐观锁
    mysql添加用户,授权,刷新权限
    Mac下安装SecureCRT并激活
  • 原文地址:https://www.cnblogs.com/layios/p/5321274.html
Copyright © 2020-2023  润新知