iOS XML解析

来源:互联网 发布:祝利荣牛熊线指标源码 编辑:程序博客网 时间:2024/06/05 14:19

导入GData头文件

#import "GDataXMLNode.h"


<1>加载xml文件

<2>解析xml

   //  GDataXMLDocument 表示整个xml文档

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

   //参数2: 默认0

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

    GDataXMLDocument *doc = [[GDataXMLDocumentalloc] initWithData:dataoptions:0error:nil];


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

   //核心:使用XPath语法

   //实例 CityName结点的XPath

   //      /root/SystemConfig/CityName

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

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

    GDataXMLElement *citName = [arrayfirstObject];

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


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

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

    for (GDataXMLElement *ein array) {

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

        //属性如何获取

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

       //  属性用GDataXMLElement

        for(GDataXMLElement *ain e.attributes)

        {

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

        }

    }


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

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

   //XPath:  //Item

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

    for (GDataXMLElement *ein array) {

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

    }


<6>遍历xml文档

    GDataXMLElement *root =  doc.rootElement;

    

   //获取一个结点子节点

    root.children

    

    //子节点个数

    root.childCount

    

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

    root elementsForName:<#(NSString *)#>


0 0
原创粉丝点击