一。XML解析
1.获取网络数据,并放置到XMLParser解析器中。
NSString *urlStr=@"http://api.zbw.vc/api/MobileDesktop/GetUpdateAdvertisinToMobileIndex?ct=xml";
NSURL *url=[NSURL URLWithString:urlStr];
NSXMLParser *parser=[[NSXMLParser alloc] initWithContentsOfURL:url];
2.设置解析代理。
[parser setDelegate:self];
3.开始解析。
[parser parse];
4.上文中定义代理为本身。即该代理为
<NSXMLParserDelegate>
其一般必须走以下方法:(类似Android的xmlParser解析)
#prag mark -开始解析标签、多次调用
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
#prag mark -解析元素、多次调用
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
#prag mark -解析元素标签、多次调用
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
#prag mark -解析出错
-(void)parser:(NSXMLParser *)parser validationErrorOccurred:(NSError *)validationError
#prag mark -开始解析文档、1次
-(void)parserDidStartDocument:(NSXMLParser *)parser
#prag mark -解析文档结束、1次
-(void)parserDidEndDocument:(NSXMLParser *)parser
二。JSON解析
JSON解析可通过NSJSONSerialization类的类方法来解析,如下
//获取网络数据
NSURL *url=[NSURL URLWithString:@"http://api.zbw.vc/api/MobileDesktop/GetUpdateAdvertisinToMobileIndex?ct=json"];
NSData *data=[NSData dataWithContentsOfURL:url];
//通过Json解析为array
NSArray *array=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
//进行数据存储
NSArray *pathDir=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSAllDomainsMask, YES);
NSString *path=[pathDir[0] stringByAppendingPathComponent:@"ad.plist"];
// NSLog(@"%@",array[0]);
[array writeToFile:path atomically:YES];
//取出数据并打印
NSMutableArray *arr2=[NSMutableArray array];
for (NSDictionary *dic in array) {
CSZWallpaper *wallPaper=[[CSZWallpaper alloc] init];
wallPaper.imageUrl=[dic objectForKey:@"imageurl"];
wallPaper.isUpdate=[((NSNumber *)[dic objectForKey:@"isupdate"]) integerValue];
wallPaper.type=[((NSNumber *)[dic objectForKey:@"type"]) integerValue];
[arr2 addObject:wallPaper];
}
NSLog(@"解析后的对象为:>>%@",arr2);
分享到:
相关推荐
iOS xml解析和json解析demo
1.JSON 包括系统方法的JSON ,以及三方JSONKit 2.XML 系统的解析(SAX方式),三方google的一个解析方式(DOM解析) SAX 解析: 这是苹果系统自带的xml解析方法,特点就是:逐行解析, 这样方式效率低,但是可以快速...
iOS,XML解析, JSON解析, @"SAX解析",@"Dom解析第一种方式",@"Dom解析第二种方式",@"系统解析",@"字符串解析",@"数组解析",@"字典解析",@"Data解析
苹果自带的XML解析与JSON序列化类的使用。
一个第三方类库,主要负责IOS中的xml解析和JSON解析
iOS JSON XML 解析实例 e,详情见:http://blog.csdn.net/vnanyesheshou/article/details/52484367 http://blog.csdn.net/vnanyesheshou/article/details/52505430
iOS xml 解析 本来是喜欢用json的,可服务端的那位大神居然搞不出来 他说他是直接返回一串字符串的,是底层给疯装成xml返回的 嗨,累 网上搜了下,有说用sdk自带的NSXMLParse, 有说用google提供的GDataXML, 还有...
ios json xml 数据解析,导入xcode即可使用
通常前端通过POST请求向服务器端提交数据格式有4中,分别是”application/x-www-form-urlencoded”格式、” multipart/form-data”格式、”application/json”格式和”text/xml”格式。通常最常见的是”application/...
主要介绍了Objective-C解析XML与JSON数据格式的方法,文中解析JSON包括拼接JSON字符串用到了SBJson这个解析器,需要的朋友可以参考下
对网络请求进行简单封装,将数据解析和网络请求结合,可将网络获取 JSON,XML 数据直接转化为字典类型
本篇随便先讲解JSON解析。 正文: 关于JSON: JSON是一种轻量级的数据格式,一般用于数据交互JSON的格式很像Objective-C中的字典和数组:{“name”:”jack”,”age”:10} 补充: 标准的JSON格式的注意点:key必须...
作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式。 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接)。此网站不仅可以检测...
有一种叫做JSON (JavaScript Object Notation) 的轻量级数据交换格式能够替代XML的工作。它就是JSON。各语言对JSON支持的特别好,自从Ajax的流行,JSON格式传输就更流行了。 一、JSON是什么? 有一种叫做JSON ...
本文将从四个方面对IOS开发中JSON格式数据的生成与解析进行讲解: 一、JSON是什么? 二、我们为什么要用JSON格式的数据? 三、如何生成JSON格式的数据? 四、如何解析JSON格式的数据? JSON格式取代了xml给网络传输...
主要用于xml中解析json数据!至于解析方法很简单!
数据解析视频,在IOS开发中详尽的阐述json,xml数据解析
它优于XML,因为它高效,易于解析并且可以被人类读取。 JSON是针对Web服务,API和应用程序的公认格式。 由于该格式既简单又灵活,因此可在整个Web,应用程序和在线服务中使用。 因此,作为iOS开发人员,您会很快(而...