XML解析:第三方库GDataXMLNode的使用

在我们开发项目中,涉及到与服务器交互时,时常需要解析从服务器请求的数据,此时,我么就希望有一个库能专门处理这样的事物。所以,我们今天来了解下GDataXMLNode,说说它的具体使用情况,直接上步骤了。

1、首先应该下载第三方封装的类文件,下载地址:http://download.csdn.net/detail/pearlhuzhu/5442103。

2、导入文件:libxml2.dylib。targets-->build setting 找到other Linker flags 设置,如图:


和header search paths,如图:

XML解析:第三方库GDataXMLNode的使用_第1张图片

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(@"=========================");
    
    }

结果如图:

XML解析:第三方库GDataXMLNode的使用_第2张图片


你可能感兴趣的:(ios,xml,服务器)