加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 05:29:00 所属栏目:百科 来源:网络整理
导读:在我们开发项目中,涉及到与服务器交互时,时常需要解析从服务器请求的数据,此时,我么就希望有一个库能专门处理这样的事物。所以,我们今天来了解下GDataXMLNode,说说它的具体使用情况,直接上步骤了。 1、首先应该下载第三方封装的类文件,下载地址:htt

在我们开发项目中,涉及到与服务器交互时,时常需要解析从服务器请求的数据,此时,我么就希望有一个库能专门处理这样的事物。所以,我们今天来了解下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="2222222222111">
        <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(@"=========================");
    
    }

结果如图:

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读