IOS网络笔记--xml解析之一(dom解析)

申明:此为本人学习笔记,若有纰漏错误之处的可留言共同探讨

/*

 xml解析方式分为:

 1.系统提供的方式sax

 2.第三方控件解析方式dom (本篇只讲dom解析)

 

 dom解析步骤

 0 导入第三方类

 1 在根据指示修改环境(在文章最下面)

 2 创建GDataXMLDocument

 3 获取根节点

 4 取出标签中的属性

 5 (根据要求)取出标签外面的元素elementsForName...objectAtIndex...stringValue 或者里面的属性attributeForName...stringValue

 */


附上Demo和素材:http://yunpan.cn/cFJwrqpbJZunX (提取码:f105)(ps 素材是demo中的example.xml)


 // dom解析数据

    // 创建文档

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

    // 创建根节点

    GDataXMLElement *rootElement = [doc rootElement];

    GDataXMLElement *a1Element = [[rootElement elementsForName:@"a1"]objectAtIndex:0];

    

    // 取出 <>的内部属性

    NSString *key1 =[[a1Element attributeForName:@"key1"]stringValue];

    NSLog(@"key1 == %@",key1);

    

      // 取出 <>的内部属性

    NSString *key2 = [[a1Element attributeForName:@"key2"]stringValue];

    NSLog(@"key2 == %@",key2);

    

       // 取出 <>的外部属性

    GDataXMLElement *name1 = [[rootElement elementsForName:@"name1"]objectAtIndex:0];

    NSString *name1Key1 = [name1 stringValue];

    NSLog(@"name1Key1 == %@",name1Key1);

    


    GDataXMLElement *secondElement = [[rootElement elementsForName:@"second"]objectAtIndex:0];

    GDataXMLElement *a2Element = [[secondElement elementsForName:@"a2"]objectAtIndex:0];


     // 取出 <>的内部属性

    NSString *a2Key1 = [[a2Element attributeForName:@"key1"]stringValue];

    NSLog(@"a2Key1 == %@",a2Key1);

    

     // 取出 <>的内部属性

    NSString *a2Key2 = [[a2Element attributeForName:@"key2"]stringValue];

    NSLog(@"a2key2 == %@",a2Key2);

    

     // 取出 <>的外部属性

    GDataXMLElement *name2 = [[secondElement elementsForName:@"name2"]objectAtIndex:0];

    NSString *name2Key1 = [name2 stringValue];

    NSLog(@"name2Key1 == %@",name2Key1);

    

     // 取出 <>的外部属性

    GDataXMLElement *int2 = [[secondElement elementsForName:@"int2"]objectAtIndex:0];

    NSString *int2key = [int2 stringValue];

    NSLog(@"int2 == %@",int2key);






或者还是把自动释放池打开,采用单独使用手动释放第三方类的内存方法





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值