美文网首页
网络编程二

网络编程二

作者: Sweet苗 | 来源:发表于2016-10-30 12:59 被阅读30次

    网络编程二

    一、AFNetworking第三方网络框架

    AFNetworking2.0使用简单,对最新的iOS特性有很好的支持,对NSURL进行了封装。

    AFNetworking是对NSURLConnection网络组件进行了封装。但iOS7之后,AFNetworking对NSURLSession网络组件进行封装。

    AFNetworking:

    NSURLConnection核心的网 络请求功能

    NSURLSession针对iOS7新增 的后台多任务

    Reachablity用于检测网络状况

    Serizalization可序列化的

    Request和Response对象封装

    Security针对SSL Pinning的封 装,用于通讯安全

    (1)AFHTTPSessionManager

    AFHTTPSessionManager:用于管理NSURLSession对象、管理网络请求、下载、上传任务等操作

    具体实现在UI学习---UI高级---08网络编程二---代码中的01和02

    (2)AFHTTPRequestSerializer

    客户端提交给服务器的数据格式主要有:&拼接、JSON

    AF封装了相应的类对每一种数据格式进行拼接

    AFHTTPRequestSerializer:&拼接格式

    AFJSONRequestSerializer:JSON数据格式

    (3)AFURLResponseSerialization

    服务器返回的数据格式主要有:JSON、XML

    AF封装了相应的类对返回的数据格式解析

    AFHTTPResponseSerializer(基类):不解析数据

    AFJSONResponseSerializer:解析JSON数据格式

    AFXMLParserResponseSerializer:解析XML数据格式

    二、XML

    A、XML简单介绍

    1.XML是什么:XML即可扩展标记语言(eXtensible Markup Language)

    2.XML作为一种数据格式,主要用于描述数据,存储数据

    3.一个常见的XML数据一般由以下部分组成

    文档声明

    元素节点(Element)

    属性(Attribute)

    4.XML解析:通过解析XML格式,提取XML所描述的数据

    5.XML主要有两种解析方式:DOM和SAX

    DOM解析:读入整个XML文档并构建一个驻留内存的树结构(节点树),通过遍历树结构可以检索任意XML节点,读取它的属性和值。

    SAX解析:是基于事件通知的模式,一边读取XML文档一边处理,不必等整个文档加载完之后才采取操作,一边读取节点,一边处理节点

    DOM解析适用于小数据量的XML,SAX解析适用于大数据量的XML

    6.XML解析框架:

    iOS SDK提供:NSXMLParser和libxml2两个类库

    第三方框架:TBXML、TouchXML、KissXML、TinyXML和GDataXML

    B、KissXML的使用

    1.KissXML的解析方式是DOM解析、依赖于libxml框架、适合小量XML读取

    2.支持XPath查找节点、支持读取、写入XML

    3.使用KissXML必须导入libxml2.2ylib框架

    4.在Header Search Paths中添加此路径:/usr/include/libxml2

    C、KissXML写XML

    写XML的学习内容:

    1.创建节点对象

    2.为节点添加属性

    3.添加子节点

    D、KissXML读取XML

    读取XML有两种方式:

    1.遍历每个树节点

    2.通过XPath语句,查找出指定的节点

    E、XPath的介绍

    1.XML是树状的结构,每个节点元素都有一个路径位置,这个位置我们成为这个节点的节点路径(XPath)

    2.XPath描述了节点的所在位置,支持XPath看解析框架,可以通过此XPath查找出匹配此XPath的所有节点

    3.XPath是XML的查询语句

    4.XPath语法:

    (1)*可以匹配任意节点

    NSString*xPath = @”/*/cd”;

    (2)查找出任何层级下所有的cd节点

    NSString*xPath = @"//cd";

    (3)查找出songs底下的cd中所有price元素

    NSString*xPath = @"/songs/cd/price";

    (4)查找price值大于10的所有cd元素

    NSString *xPath =@"/songs/cd[price>10]";

    **具体实现请看下面代码**

    相关文章

      网友评论

          本文标题:网络编程二

          本文链接:https://www.haomeiwen.com/subject/qrrtettx.html