GDataXML包的使用方法及解析

1.先导入GDataXML包  导入包的时候一定要选择 copy items if needed  ,   create groups,跟文件名三项。

2. 选择Build Settings   在左上角选择All  Levels    输入other搜索  找到 other Linker Flags  双击空白处 点击左下角的加号  输入-lxml2

3.选择Build Settings   在左上角选择All  Levels    输入head搜索    找到User Header Maps 双击空白处 点击左下角的加号   输入/usr/include/libxml2

4.选择Build Phases    点开Compole Sources    选择GDataXML.m文件  双击后面空白处 加入-fno-objc-arc

5.选择Build Phases    点开Link Binary With Libraries  点击加号  在搜索出输入xml   选择libxml2.tbd或者libxml2.2.tdb  选择add导入

.h文件

#import <UIKit/UIKit.h>

#import "GDataXMLNode.h"

@interface ViewController : UIViewController

@property(strong,nonatomic)NSMutableArray *myarr;

@end

 .m文件

- (void)viewDidLoad {

    [super viewDidLoad];

    self.myarr=[NSMutableArray array];

    NSString *path=[[NSBundle mainBundle] pathForResource:@"person" ofType:@"xml"];

    NSData *data=[NSData dataWithContentsOfFile:path];

    //使用NSdata对象初始化

    GDataXMLDocument *doc=[[GDataXMLDocument alloc] initWithData:data options:0 error:nil];

    //获取根节点(Users)

        GDataXMLElement *root=[doc rootElement];

    //获取根节点下的节点(User)

    NSArray *users=[root elementsForName:@"User"];

    for (GDataXMLElement *user in users) {

        //User节点id属性

        NSString *userid=[[user attributeForName:@"id"] stringValue];

//        NSLog(@"user id is :%@",userid);

        //获取name节点值

        GDataXMLElement *nameElement=[[user elementsForName:@"name" ] objectAtIndex:0];

        NSString *name=[nameElement stringValue];

//        NSLog(@"user name is %@",name);

        //获取age节点值

        GDataXMLElement *ageElement=[[user elementsForName:@"age"] objectAtIndex:0];

        NSString *age=[ageElement stringValue];

//        NSLog(@"age is %@",age);

        NSMutableDictionary *dic=[NSMutableDictionary dictionary];

        [dic setObject:userid forKey:@"id"];

        [dic setObject:name forKey:@"name"];

        [dic setObject:age forKey:@"age"];

        [self.myarr addObject:dic];

    }

   

    NSLog(@"arr=%@",self.myarr);

}

原文地址:https://www.cnblogs.com/anjiubo/p/5321287.html