码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发网络篇之Web Service和XML数据解析

时间:2015-07-03 12:23:10      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:ios开发   web service   网络   xml   数据   

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 

我要捐赠: 点击捐赠

Cocos2d-X源码下载:点我传送

游戏官方下载:技术分享技术分享http://dwz.cn/RwTjl

游戏视频预览:技术分享http://dwz.cn/RzHHd

游戏开发博客:技术分享http://dwz.cn/RzJzI

游戏源码传送技术分享http://dwz.cn/Nret1


在iPhone和后台系统的通信中,使用Web Service获取服务器数据上最常见的一种形式。

而在Web Service通信中,数据交换格式通常上使用XML数据,XML数据也是软件开发中普遍存在的一种格式,

因此XML解析也就成为项目开发中必须掌握的一些基本技能。

本文提供一个XML数据解析类SimpleXMLParser,

该类的特点上将XML数据解析成数据库记录形式,数据解析后保存在NSArray中,

其中数组的每个元素对应一条数据库记录,每条记录则是由数据库字段和值组成的NSDictionary。


1、接口定义

@interface SimpleXMLParser : NSObject{
	NSString *currentPropertyName;
	NSMutableString *currentData;
	BOOL contentError;
	NSString *faultName;
	NSString *faultName2;
	NSMutableData *webData;
	NSMutableArray *theMainStack;
	NSMutableArray *currentDataStack;
	
	NSXMLParser *parser;
	NSString *recordHead;
	NSInteger sectionCount;
	BOOL beginRecord;
	NSMutableString *currentCharacters;
	NSMutableDictionary *parsedResponseDictionary;
	NSString *parseElementPath;
}

- (id)init;
- (void)initData:(NSMutableData *)data;
- (void)parse:(NSString*)head;
- (BOOL)isContentFault;
- (NSInteger)getRecordCount;
- (NSDictionary*)getRecordAtIndex:(NSInteger)idx;
- (NSMutableArray*)getRecordLists;

2、使用

NSMutableData *webData;
SimpleXMLParser *thisParser = [[SimpleXMLParser alloc] initWithData:webData];	
NSString *recordHead  = @"User";
[thisParser parse:recordHead];

此时解析后的数据库记录保存于Parser对象的recordStack变量中,首先获取记录条数,然后遍历每条记录。

NSInteger i = 0, nResult = [thisParser getRecordCount];
for(i = 0; i < nResult; i++){
	NSDictionary *recordDict = [thisParser getRecordAtIndex:i];			
	NSDictionary *tempDic = [recordDict objectForKey:@"tempDic"];
	NSString *value = [tempDic objectForKey:@"value"];
}


SimpleXMLParser类下载地址:点我下载

若无积分,博客下面回复留下Email地址。


郝萌主倾心贡献,尊重作者的劳动成果,请勿转载。

如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 

我要捐赠: 点击捐赠

Cocos2d-X源码下载:点我传送

游戏官方下载:技术分享技术分享http://dwz.cn/RwTjl

游戏视频预览:技术分享http://dwz.cn/RzHHd

游戏开发博客:技术分享http://dwz.cn/RzJzI

游戏源码传送技术分享http://dwz.cn/Nret1

版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS开发网络篇之Web Service和XML数据解析

标签:ios开发   web service   网络   xml   数据   

原文地址:http://blog.csdn.net/haomengzhu/article/details/46739507

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!