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);
}