iOS XML解析

导入GData头文件

#import "GDataXMLNode.h"


<1>加载xml文件

<2>解析xml

    //  GDataXMLDocument 表示整个xml文档

    //参数1: xml数据, 以后放上下载数据

    //参数2: 默认0

    //参数3: 一般设置为nil

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


<3>从解析后的文档中获取数据

    //核心: 使用XPath语法

    //实例 CityName结点的XPath

    //      /root/SystemConfig/CityName

    //  返回匹配xpath语法规则的结点数组

NSArray *array = [doc nodesForXPath:@"/root/systemConfig/CityName" error:nil];

    GDataXMLElement *citName = [array firstObject];

    NSLog(@"name=%@ value=%@",citName.name,citName.stringValue);


<4>获取带有属性的结点

    NSArray *array = [doc nodesForXPath:@"/root/systemConfig/IntentionLevel/Item" error:nil];

    for (GDataXMLElement *e in array) {

        NSLog(@"name = %@",e.name);      

        //属性如何获取

        //  结点的attributes包含的结点的所有属性

        //  属性用GDataXMLElement

        for(GDataXMLElement *a in e.attributes)

        {

            NSLog(@"attr name=%@ value=%@",a.name,a.stringValue);

        }

    }


<5>快速获取某种类型的结点 (项目中常用)

    //实例: 获取所有的名字为Item的结点, 而不管在哪儿?

    //XPath:  //Item

    NSArray *array = [doc nodesForXPath:@"//Item" error:nil];

    for (GDataXMLElement *e in array) {

        NSLog(@"-> %@",e.name);

    }


<6>遍历xml文档

    GDataXMLElement *root =  doc.rootElement;

    

    //获取一个结点子节点

    root.children

    

    //子节点个数

    root.childCount

    

    //获取某个名字的子节点

    root elementsForName:<#(NSString *)#>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值