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:谁调用了

最新文章

  1. c# json总结
  2. Android 使用js调用Java
  3. 在执行Java命令或eclipse启动程序,提示报错’jvm.cfg无法找到’的解决办法
  4. C# 调用Excel 出现服务器出现意外情况. (异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)
  5. [Android Pro] 告别编译运行 ---- Android Studio 2.0 Preview发布Instant Run功能
  6. Python学习笔记- Python threading模块
  7. [转载]在 JavaScript 中判断“空值”
  8. 【转载】Linux下动态共享库加载时的搜索路径详解
  9. Part 12 DateTime functions in SQL Server
  10. file控件change事件触发问题
  11. C期未考试参考答案题1
  12. [WPF]静态资源(StaticResource)和动态资源(DynamicResource)
  13. 初识Identity
  14. thinkinginjava学习笔记03_基本语法
  15. git stash解决代码merge出错
  16. Tensorflow搭建卷积神经网络识别手写英语字母
  17. SSIS 中将csv 文件批量导出到excel 文件,并设置excel 文件中某些列的data column format 为Text
  18. 12个实用的 JavaScript 框架分享给前端开发者
  19. 超简单的localStorage实现记住密码的功能
  20. JVM系列3:类加载机制

热门文章

  1. JavaScript的理解记录(6)
  2. 理解javascript this指向
  3. Map工具系列-05-添加业务参数工具
  4. COGS729. [网络流24题] 圆桌聚餐
  5. 项目中CKEditor修改宽度为自适应
  6. java 对象入门
  7. supervisord安装使用简记
  8. 【Beta】第5.5次任务发布
  9. &lt;&lt;&lt; 将一个rar格式的文件变成一张jpg图片,按照后缀来选择打开他的模式
  10. Win7中怎么不经确认直接删除文件至回收站