網(wǎng)絡(luò)編程二

網(wǎng)絡(luò)編程二

一、AFNetworking第三方網(wǎng)絡(luò)框架

AFNetworking2.0使用簡單,對最新的iOS特性有很好的支持,對NSURL進行了封裝。

AFNetworking是對NSURLConnection網(wǎng)絡(luò)組件進行了封裝。但iOS7之后,AFNetworking對NSURLSession網(wǎng)絡(luò)組件進行封裝。

AFNetworking:

NSURLConnection核心的網(wǎng) 絡(luò)請求功能

NSURLSession針對iOS7新增 的后臺多任務(wù)

Reachablity用于檢測網(wǎng)絡(luò)狀況

Serizalization可序列化的

Request和Response對象封裝

Security針對SSL Pinning的封 裝,用于通訊安全

(1)AFHTTPSessionManager

AFHTTPSessionManager:用于管理NSURLSession對象、管理網(wǎng)絡(luò)請求、下載、上傳任務(wù)等操作

具體實現(xiàn)在UI學(xué)習(xí)---UI高級---08網(wǎng)絡(luò)編程二---代碼中的01和02

(2)AFHTTPRequestSerializer

客戶端提交給服務(wù)器的數(shù)據(jù)格式主要有:&拼接、JSON

AF封裝了相應(yīng)的類對每一種數(shù)據(jù)格式進行拼接

AFHTTPRequestSerializer:&拼接格式

AFJSONRequestSerializer:JSON數(shù)據(jù)格式

(3)AFURLResponseSerialization

服務(wù)器返回的數(shù)據(jù)格式主要有:JSON、XML

AF封裝了相應(yīng)的類對返回的數(shù)據(jù)格式解析

AFHTTPResponseSerializer(基類):不解析數(shù)據(jù)

AFJSONResponseSerializer:解析JSON數(shù)據(jù)格式

AFXMLParserResponseSerializer:解析XML數(shù)據(jù)格式

二、XML

A、XML簡單介紹

1.XML是什么:XML即可擴展標(biāo)記語言(eXtensible Markup Language)

2.XML作為一種數(shù)據(jù)格式,主要用于描述數(shù)據(jù),存儲數(shù)據(jù)

3.一個常見的XML數(shù)據(jù)一般由以下部分組成

文檔聲明

元素節(jié)點(Element)

屬性(Attribute)

4.XML解析:通過解析XML格式,提取XML所描述的數(shù)據(jù)

5.XML主要有兩種解析方式:DOM和SAX

DOM解析:讀入整個XML文檔并構(gòu)建一個駐留內(nèi)存的樹結(jié)構(gòu)(節(jié)點樹),通過遍歷樹結(jié)構(gòu)可以檢索任意XML節(jié)點,讀取它的屬性和值。

SAX解析:是基于事件通知的模式,一邊讀取XML文檔一邊處理,不必等整個文檔加載完之后才采取操作,一邊讀取節(jié)點,一邊處理節(jié)點

DOM解析適用于小數(shù)據(jù)量的XML,SAX解析適用于大數(shù)據(jù)量的XML

6.XML解析框架:

iOS SDK提供:NSXMLParser和libxml2兩個類庫

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

B、KissXML的使用

1.KissXML的解析方式是DOM解析、依賴于libxml框架、適合小量XML讀取

2.支持XPath查找節(jié)點、支持讀取、寫入XML

3.使用KissXML必須導(dǎo)入libxml2.2ylib框架

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

C、KissXML寫XML

寫XML的學(xué)習(xí)內(nèi)容:

1.創(chuàng)建節(jié)點對象

2.為節(jié)點添加屬性

3.添加子節(jié)點

D、KissXML讀取XML

讀取XML有兩種方式:

1.遍歷每個樹節(jié)點

2.通過XPath語句,查找出指定的節(jié)點

E、XPath的介紹

1.XML是樹狀的結(jié)構(gòu),每個節(jié)點元素都有一個路徑位置,這個位置我們成為這個節(jié)點的節(jié)點路徑(XPath)

2.XPath描述了節(jié)點的所在位置,支持XPath看解析框架,可以通過此XPath查找出匹配此XPath的所有節(jié)點

3.XPath是XML的查詢語句

4.XPath語法:

(1)*可以匹配任意節(jié)點

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

(2)查找出任何層級下所有的cd節(jié)點

NSString*xPath = @"http://cd";

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

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

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

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

**具體實現(xiàn)請看下面代碼**

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容