zoukankan      html  css  js  c++  java
  • JSON&XML总结

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

  • 相关阅读:
    pat 1027. Colors in Mars (20)
    pat 1035. Password (20)
    pat 1006. Sign In and Sign Out (25)
    pat 1031. Hello World for U (20)
    pat 1005. Spell It Right (20)
    pat 1002. A+B for Polynomials (25)
    pat 1008. Elevator (20)
    pat 1001. A+B Format (20)
    算法分析与设计实验四 密码算法
    Android通讯录管理(获取联系人、通话记录、短信消息)
  • 原文地址:https://www.cnblogs.com/ly1973/p/5394421.html
Copyright © 2011-2022 走看看