IOS-XML&JSON解析

一。XML解析

1.获取网络数据,并放置到XMLParser解析器中。

    NSString *[email protected]"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解析

时间: 2024-08-10 20:52:01

IOS-XML&JSON解析的相关文章

iOS XML/JSON解析

<a target=_blank href="http://download.csdn.net/detail/vaercly/7908319">点击打开下载链接iOS,XML/JSON解析</a> // FInterPreterVC.m // FInterpreter // // Created by lanouhn on 14-9-11. // Copyright (c) 2014年 [email protected] 陈聪雷. All rights rese

ios webservice编程:soap封装调用,返回xml,json解析

一.简介 webservice调用,包括soap请求与响应,返回(xml,json)解析. soap请求与响应:ios webservice+soap编程 xml,json解析:ios XML,JSON,数组解析并转换成NSMutableArray(List<class>) 二.项目 完整项目:点击下载 三.效果 soap请求与响应: xml,json解析:    

(转)iOS XML JSON SQLite CoreData 数据持久化

一.文件操作 1.因为应用是在沙盒(Sandbox)中的,在文件读写权限上受到限制,只能在几个目录下读写文件: * Documents:应用中用户数据可以放在这里,iTunes备份和恢复的时候会包括此目录 * tmp:存放临时文件,iTunes不会备份和恢复此目录,此目录下文件可能会在应用退出后删除 * Library/Caches:存放缓存文件,iTunes不会备份此目录,此目录下的文件不会在应用退出删除 2.相关方法:       # 使用NSSearchPathForDiretoriesI

UI学习笔记---第十六天XML JSON解析

一.解析的基本概念 从事先规定好的格式中提取数据 解析的前提:提前约定好格式.数据提供方按照格式提供数据,数据方按照格式获取数据 常见解析方式XML解析JSON解析 二.XML:可扩展标记语言 XML数据格式的功能:数据交换 web服务  内容管理  用作配置文件 一对标签称为一个节点  节点可以包含节点   没有子节点叫叶子节点  只有一个根节点  节点可以相互嵌套 三.进行XML解析时使用到的SAX工具 SAX:Simple API for XML  基于事件驱动的解析方式,逐行解析数据.(

iOS 中json解析数据出现中文乱码的问题

一般服务器的编码格式都是UTF8,这样通过json解析下来的的数据,一般中文是不会出现乱码,但是如果服务器的编码格式不是UTF8,通过json解析的数据中的中文容易出现luan乱码,怎么解决这个问题呢? 一般都是通过转码来解决,但是直接转码,是不能达到效果的,例如 [jsonStringstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding] 这样直接转码是达不到效果的. 解析数据的时候,可以先把数据存放在NSdata对象中,

ios XML,JSON,数组解析并转换成NSMutableArray(List&lt;class&gt;)

一.简介 JSON解析: 通过正则将JSON([{...},{...}...])分解成多个包含实体实例内容的一小节({...}),在一小节中通过Runtime(运行时)(<objc/runtime.h>)将实体所有属性值找到并赋值(正则查找实现)到实例({...} --> 实体的一个实例),遍历所有小节({...})就将XML转换成NSMutableArray(类似:List<class>). XML 解析: 通过GDataXml(也可以通过正则)将XML分解成多个包含实体实

IOS中Json解析的四种方法

作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接).此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便. 从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的ios版本,可以使用第三方库来解析Json. 本文将介绍TouchJso

【转】IOS中Json解析的四种方法

原文网址:http://blog.csdn.net/enuola/article/details/7903632 作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此“http://www.bejson.com/”网站来进行JSON格式化校验(点击打开链接).此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便. 从IOS5开始,APPLE提供了对json的原生支持(NSJSONSer

XML/JSON解析

JSON: 什么是JSON: 1,json是一种轻量级的数据格式,一般用于数据交互: 2,服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack","rose","jim"]} 标准JSON格式的注意点:key必须

AFNetWorking 简单介(XML,JSON解析和判断网络状态

//AFNetWorking 当下最流行的数据请求方法 里面不仅包含数据请求还包含数据解析 //包含的数据请求就是对系统类NSURLConnection的封装 //数据解析(NSJSONSerialization.XMLParser) //AFNetworking 下至兼容ios6.0 以及block语法 arc //通过AFNetWorking请求json数据 并解析 //<1>创建http请求操作管理者对象 AFHTTPRequestOperationManager * manager =