网络编程二

网络编程二

一、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]";

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

你可能感兴趣的:(网络编程二)