• 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获取server数据上最常见的一种形式。

    而在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

  • 相关阅读:
    【spring mvc】application context中【bean】的生命周期
    【spring mvc】基础概念
    TSql Work with comma
    统计公司人数
    t_sql中的COUNT函数
    T_SQL又另外两种找出3年连续获奖的人
    A Sql Stumper
    验证ISIN, SEDOLE和CUSIP
    按月份进行统计
    使用4中不同的方式找出连续三年获奖的人
  • 原文地址:https://www.cnblogs.com/yangykaifa/p/6937569.html
Copyright © 2020-2023  润新知