JSON&XML:

JSON-----

//英译 Serialization:序列化

perform:执行 segue:继续

IOS5后 NSJSONSerialization解析

解析JSON SBJSON JSONKit touchJson的第三方库

性能:NSJSONSerialization最好,JSONKit次之 SBJSON使用范围最广,API简单易用

关于JSON应用

发送GET/POST请求给服务器,获取数据DATA,用NSJSONSerialization解析DATA为JSON(数组/字典保存),写入本地plist文件,使用时解析plist文件为模型,从而使用模型的属性,

NSURLConnection sendAsyn:异步

//第三方框架SDWebImage 处理缓存

//XML解析- NSXMLParser这是解析器-----

英译://Parser:分析程序

-SAX(Simple API for XML)//Simple:简单的

-DOM(Document Object Model)//Document:文件

解析xml顺序(代理方法)

Connection异步获取data->实例化XML解析器(NSXMLParser)并添加data->设置代理->开始解析([parser parse])->实现六个代理方法

1: @"开始文档" 开始解析文档,初始化工作

- (void)parserDidStartDocument:(NSXMLParser *)parser

2: @"开始节点"  解析一个起始节点<name>(循环执行)//element:元素attributes:属性

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

3: @"发现节点内容"  查找节点内容,会多次执行

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string

4: @"节点完成"   解析末尾就节点</name>

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName

5: @"结束文档"  解析文档完成<获得结果>

- (void)parserDidEndDocument:(NSXMLParser *)parser

6: @"错误处理"  错误处理,终止解析

- (void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError

//牛B闪闪Block-牛B闪闪Block-牛B闪闪Block------

//parser:解析 Completion:结束,完成

模型(封装方法)----

typedef void (^parserCompletionBlock)(NSArry *xmlList);

- (void)videoParserWithData:(NSData *)data Completion:(parserCompletionBlock)Completion;

{

parserCompletionBlock(数组);

}

需要将数据结果回传给控制器

控制器(调用方法)--

[对象 videoParserWithData:data Completion:^(NSArry *xmlList){

保存变量的数组=xmlList;

}];

//关于block:谁调用了

JSON&XML总结的更多相关文章

  1. Python导出Excel为Lua/Json/Xml实例教程(三):终极需求

    相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 Python导出E ...

  2. Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验

    Python导出Excel为Lua/Json/Xml实例教程(二):xlrd初体验 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出E ...

  3. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  4. JSON/XML序列化与反序列化(非构造自定义类)

    隔了很长时间再重看自己的代码,觉得好陌生..以后要养成多注释的好习惯..直接贴代码..对不起( ▼-▼ ) 保存保存:进行序列化后存入应用设置里 ApplicationDataContainer _a ...

  5. php返回json,xml,JSONP等格式的数据

    php返回json,xml,JSONP等格式的数据 返回json数据: header('Content-Type:application/json; charset=utf-8'); $arr = a ...

  6. Atitit.json xml 序列化循环引用解决方案json

    Atitit.json xml 序列化循环引用解决方案json 1. 循环引用1 2. 序列化循环引用解决方法1 2.1. 自定义序列化器1 2.2. 排除策略1 2.3. 设置序列化层次,一般3级别 ...

  7. 【转】[WCF REST] 帮助页面与自动消息格式(JSON/XML)选择

    可以说WebHttpBinding和WebHttpBehavior是整个Web HTTP编程模型最为核心的两个类型,前者主要解决消息编码问题,而余下的工作基本上落在了终结点行为WebHttpBehav ...

  8. 计算机程序的思维逻辑 (63) - 实用序列化: JSON/XML/MessagePack

    上节,我们介绍了Java中的标准序列化机制,我们提到,它有一些重要的限制,最重要的是不能跨语言,实践中经常使用一些替代方案,比如XML/JSON/MessagePack. Java SDK中对这些格式 ...

  9. C#中另辟蹊径解决JSON / XML互转的问题

    C#中另辟蹊径解决JSON / XML互转的问题 最近在一个POC的项目中要用到JSON和XML的相互转换, 虽然我知道很多类库如JSON.NET具备这种功能, 但是我还是另辟蹊径的使用Spider ...

随机推荐

  1. [转]EL表达式和JSTL表达式实例

    /* **Title:EL表达式和JSTL表达式实例 **Author:Insun **Blog:http://yxmhero1989.blog.163.com/ */ 为了方便写JSP,我们引入了E ...

  2. Jstat PID not found

    解决步骤 删除/tmp/hsperfdata_{USER}文件夹,如果是root用户登录,即为/tmp/hsperfdata_root 通过chown.chmod命令保证执行jstat用户必定拥有对/ ...

  3. 了解了下 Google 最新的 Fuchsia OS

    就是看到篇报道,有点好奇,就去FQ挖了点东西回来. 我似乎已开始就抓到了重点,没错,就是 LK . LK 是 Travis Geiselbrecht 写的一个针对 ARM 的嵌入式操作系统,开源的.点 ...

  4. Java 集合类详解

    集合类说明及区别 Collection ├List │├LinkedList │├ArrayList │└Vector │ └Stack └Set Map ├Hashtable ├HashMap └W ...

  5. TAC Beta版本 冲冲冲!!!

    一.Beta版本冲刺博客目录: 第一天 第二天 第三天 第四天 第五天 第六天 第七天 二.Beta版本需要改进完善的功能: service层传入参数的判断与提示以及各函数内的相应提示 界面改进.优化 ...

  6. poj 1390 Blocks

    poj 1390 Blocks 题意 一排带有颜色的砖块,每一个可以消除相同颜色的砖块,,每一次可以到块数k的平方分数.问怎么消能使分数最大.. 题解 此题在徐源盛<对一类动态规划问题的研究&g ...

  7. shell判断条件整理

    1.字符串判断 str1 = str2 当两个字符串串有相同内容.长度时为真 str1 != str2 当字符串str1和str2不等时为真 -n str1 当字符串的长度大于0时为真(串非空) -z ...

  8. tnt_esri.dat Arcgis8.1安装license

    arcgis8.1授权文件内容,复制个txt重命名为tnt_esri.dat即可.注意替换yourcomputername为你的计算机名   SERVER yourcomputername ESRI_ ...

  9. MyBatis学习总结(一)——MyBatis快速入门

    一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装.MyBatis可以 ...

  10. jquery 判断网络资源,网络文件是否存在

    前提是,不能跨域访问引入jquery库<script src="jQuery.js" type="text/javascript"></scr ...