第三方库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);
 
初学者总结!
posted @ 2016-03-25 21:36  翌日晨曦  阅读(843)  评论(0编辑  收藏  举报