在我们开发项目中,涉及到与服务器交互时,时常需要解析从服务器请求的数据,此时,我么就希望有一个库能专门处理这样的事物。所以,我们今天来了解下GdataxMLNode,说说它的具体使用情况,直接上步骤了。
1、首先应该下载第三方封装的类文件,下载地址:http://download.csdn.net/detail/pearlhuzhu/5442103。
2、导入文件:libxml2.dylib。targets-->build setting 找到other Linker flags 设置,如图:
和header search paths,如图:
ok,这样就配置好了,接下来开始,解析数据。
3、首先设置下需要解析的xml文件,这里设置了些测试数据
<?xml version="1.0" encoding="utf-8"?> <Users> <User id="1111111111111"> <name>hello-1</name> <sex>male</sex> </User> <User id="2222222222222"> <name>hello-2</name> <sex>female</sex> </User> <User id="3333333333333"> <name>hello-3</name> <sex>male</sex> </User> <User id="4444444444444"> <name>hello-4</name> <sex>female</sex> </User> <User id="5555555555555"> <name>hello-5</name> <sex>male</sex> </User> </Users>4、解析数据代码:
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"xml"]; NSData *xmlData = [[NSData alloc] initWithContentsOfFile:filePath]; NSError *error; GdataxMLDocument *doc = [[GdataxMLDocument alloc] initWithData:xmlData options:0 error:&error]; GdataxMLElement *rootElement = [doc rootElement]; NSArray *users = [rootElement elementsForName:@"User"]; for (GdataxMLElement *user in users) { 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 *sexElement = [[user elementsForName:@"sex"] objectAtIndex:0]; NSString *sex = [sexElement stringValue]; NSLog(@"User age is=%@",sex); NSLog(@"========================="); }
结果如图:
原文链接:https://www.f2er.com/xml/300411.html