GDataXMLNode 解析

这里主要介绍一下由Google提供的一种在IOS平台上进行XML解析的开源库GDataXML,可以到http://code.google.com/p/gdata-objectivec-client/source/browse/trunk/Source/XMLSupport/下载源码,下载下来后进入文件夹找到XMLSupport文件夹,将里面的GDataXMLNode.hGDataXMLNode.m文件拖拽到项目

注:

1.targets ->build settings 的other linker flags 添加字段 -lxml2

2.targets ->build settings 的header search Paths 添加字段/usr/include/libxml2

3.导入 libxml2.dylib 系统库


例如解析:

<?xml version="1.0" encoding="utf-8"?>
<Users>
    <User id="001">
        <name>Ryan</name>
        <name>hjhj</name>
        <age>24</age>
    </User>
    <User id="002">
        <name>Tang</name>
        <name>Tangss</name>
        <age>23</age>
    </User>
    <User id="003">
        <name>Tanssg</name>
        <name>Tansdsg</name>
        <age>2ssss3</age>
    </User>
</Users>

使用GDataXMLNode 解析

//获取工程目录xml文件
    NSString *filePach = [[NSBundle mainBundle]pathForResource:@"Users" ofType:@"xml"];
    NSData *xmlData = [[NSData alloc]initWithContentsOfFile:filePach];
    
    //使用nsdata对象初始化
    GDataXMLDocument *doc = [[GDataXMLDocument alloc]initWithData:xmlData options:0 error:nil];
    
    //获得跟节点(Users)
    GDataXMLElement *rootElement = [doc rootElement];
    
    //获取跟节点下的节点
    NSArray *users = [rootElement elementsForName:@"User"];

    
    for (GDataXMLElement *user  in users) {
        //user节点属性
         NSString *userId =[[user attributeForName:@"id"]stringValue];
        NSLog(@"userId = %@",userId);
        
        //获取name节点的值
       GDataXMLElement *nameElement = [[user elementsForName:@"name"]objectAtIndex:1];
        NSString *name = [nameElement stringValue];
        NSLog(@"name = %@",name);
        
        //获取age节点的值
        GDataXMLElement *ageElement = [[user elementsForName:@"age"]objectAtIndex:0];
        NSString *age = [ageElement stringValue];
        NSLog(@"age = %@",age);
        NSLog(@"===================");
    }



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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值