iOS 链接webservice(2)

本文介绍如何使用Objective-C中的NSXMLParser类解析XML数据。文章详细解释了NSXMLParser的初始化方法,并提供了代码示例说明如何设置代理及实现解析过程中的关键方法。

第二部分 解析XML

采用SDK自带的类NSXMLParser来解析。NSXMLParser这个类初始化有两种方法:

(1)initWithContentsOfURL 通过NSURL创建解析器

(2)initWithData 通过NSData创建解析器

在解析之前,你要声明委托:

     NSXMLParser *myParser=[[NSXMLParser alloc]initWithData:xmlData];

    [parse setDelegate:self];

这里的self指的是你的viewController,所以你的viewController要实现这个协议:

@interface LZYViewController : UIViewController<NSXMLParserDelegate>


然后调用解析方法:

   BOOL flag=[myParser parse];//开始解析

     if(flag){

        NSLog(@"开始解析");

     }


另外要实现协议的几个方法如下:

-(void)parserDidStartDocument:(NSXMLParser *)parser{//开始解析前的初始化工作

    array=[[NSMutableArray alloc]init];//初始化数组

}

-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{

    NSLog(@"看看这个是什么%@",elementName);//这个方法打印的内容都是属性名称

}

-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{//这个方法打印的就是具体的内容了

    NSLog(@"据说这是内容%@",string);

    [array addObject:string];

}

-(void)parserDidEndDocument:(NSXMLParser *)parser{//解析结束,通常做的操作是保存数据,或者展示数据

    if ([array count]>0) {

        areaName.text=[array objectAtIndex:1];

        wd.text=[NSString stringWithFormat:@"%@%@",[array objectAtIndex:5],[array objectAtIndex:6]];

        we.text=[NSString stringWithFormat:@"%@%@%@",[array objectAtIndex:7],[array objectAtIndex:8],[array objectAtIndex:9]];

    }

}






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值