亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

iOS高級編程之XML,JSON數據解析

2019-11-14 19:03:20
字體:
來源:轉載
供稿:網友

解析的基本概念

所謂“解析”:從事先規定好的格式串中提取數據

解析的前提:提前約定好格式、數據提供方按照格式提供數據、數據獲取方按照格式獲取數據

iOS開發常見的解析:xml解析、JSON解析

 

一、XML數據結構

XML數據結構基本概念

XML:Extensible Markup language (可擴展標記語言),主流格式之一,可以用來存儲和傳輸數據格式之一,可以用來存儲和傳輸數據

 

XML數據格式的功能

1、數據交換

2、內容管理

3、用作配置文件

 

XML數據結構的語法

1、聲明

2、節點使用一對標簽表示

3、根節點是起始節點,只有一個。節點可以嵌套

4、節點可以有值,存儲在一對標簽中

 

如何進行XML解析

有以下兩種方法:

1、SAX解析

SAX:Simple API for XML .基于事件驅動的解析方式,逐行解析數據。(采用協議回調機制)

SAX解析XML,是基于事件通知的模式,一邊讀取XML文檔一邊處理,不必等整個文檔加載完之后才采取操作,SAX解析器會檢測整個XML樹形結構,你的代碼會控制它在哪里停止,使用哪些數據之類的事情。就是說,SAX可控制性強,占用內存小,適用于提取部分數據。當在讀取解析過程中遇到需要處理的對象,會發出通知對其進行處理,如果XML格式在某一處出現錯誤,前面的數據會被提取出來,錯誤后面數據的就顯示不出來。

 

NSXMLParse類是iOS自帶的XML解析類。采用SAX方式解析數據

解析過程由NSXMLParserDelegate協議方法回調

解析過程:開始標簽->取值->結束標簽->取值

代碼的實現過程是,首先我們建立一個XML文檔,并引入文件,如下:

其次我們建立一個表格試圖控制器TableViewController)

定義一個私有屬性數組datasource用來存儲模型數據和startTag屬性用來暫存起始標簽

 

同時在方法ViewDidLoad里面獲取文件數據并指定代理<NSXMLParserDelegate>//解析器協議,同時為對應的重用標識符注冊單元格的類型

 

NSXMLParserDelegate 解析器協議里面有如下方法:

 

 

 

 當XML在逐個解析文件數據時,由于起始標簽和結束標簽名字一樣,當解析到結束標簽時,為了避免解析到的結束標簽后面的內容將模型對象中的相應的屬性覆蓋,在解析結束標簽的方法內部將起始標簽置為nil

 

在每個方法內部我們同時打印了一下方法名,這樣我們就可以在輸出端清晰的看到方法的執行順序,

同時在表格的設置方法內部建立重建機制

 

 

在設置相應的行數和分區,我們就可以在模擬器上顯示出如下結果:

 

 

 

2、DOM工具解析

DOM:Document Object Model (文檔對象模型)。解析時需要將XML文件整體讀入,并且將XML結構化成樹狀,使用時再通過樹狀結構讀取相關數據,查找特定節點,然后對節點進行讀或寫。他的主要優勢是實現簡單,讀寫平衡;缺點是比較占內存,因為他要把整個xml文檔都讀入內存,文件越大,這種缺點就越明顯。當文件內容出現錯誤時,在輸入框內會標記出錯誤的位置

GDataXMLNode是Google提供的開元XML解析類,對libxml2.dylib進行了Objective-C的封裝,因此在使用GDataXML之前,你需要先導入libxml2

iOS中包含一個C語言的動態鏈接庫libxml2.dylib,解析速度比NSXMLParser快

 

二、JSON數據結構

 

JSON數據結構基本概念

javascript Object Notation ,輕量級的數據交換格式,采用完全獨立于語言的文本格式,被稱為理想的數據交換語言,易于人閱讀和便攜,同時也易于及其解析何程,由于JSON解析便捷、快速,并且相同數據用JSON編輯所占的內存更小,所以在iOS中我們我們使用JSON解析更加普遍。

 

JSON文檔有兩種結構:對象 、數據

對象:以“{“開始,以”}”結束,是“名稱/值”對兒的集合。名稱和值中間用“:”隔開。多個“名稱/值”對之間用“,”隔開。類似OC中的字典。

數組:以“["開始,以“]”結束,中間是數據。數據以“,”分割。

JSON中的數據類型:字符串、數值、BOOL、對象、數組。 

 例如:

 

 

JSON – OC 轉換對照表

 

 JSON數據結構的功能

1、數據交換

2、內容管理

3、配置文件

 

 

JSON解析方案

 

在iOS中,JSON的常見解析方案有4種 
第三方框架:JSONKit、SBJson、TouchJSON(性能從左到右,越差)  
蘋果原生(自帶):NSJSONSerialization(性能最好)

 

 

 

下面是NSJSONSerialization解析過程: 

 

 

 

 

  

 

 

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品久久久香蕉免费精品视频| 中文字幕免费国产精品| 久久综合国产精品台湾中文娱乐网| 欧美一级免费看| 国产精品极品美女在线观看免费| 午夜精品福利视频| 久久99精品视频一区97| 一本一道久久a久久精品逆3p| 91中文精品字幕在线视频| 中文字幕视频一区二区在线有码| 欧美亚洲视频在线看网址| 亚洲精品国产免费| 亚洲乱亚洲乱妇无码| 国产精品丝袜白浆摸在线| 在线视频日韩精品| 92看片淫黄大片欧美看国产片| 日韩av综合中文字幕| 97在线精品视频| 成人两性免费视频| 2020欧美日韩在线视频| 欧美黄色片视频| 亚洲天堂网站在线观看视频| 欧美贵妇videos办公室| 国产精品久久久久不卡| 亚洲精品国产精品国自产在线| 日韩av网址在线| 国产欧美日韩综合精品| 国产91色在线播放| 亚洲热线99精品视频| 伊人精品在线观看| www高清在线视频日韩欧美| 亚洲欧美三级在线| 欲色天天网综合久久| 国产欧美日韩精品在线观看| 岛国精品视频在线播放| 久久理论片午夜琪琪电影网| 视频在线观看一区二区| 97视频免费在线观看| 91网在线免费观看| 国产精品一区二区三区免费视频| 亚洲亚裔videos黑人hd| 久久亚洲精品一区| 97在线视频免费观看| 日韩电影免费观看在线观看| 国产suv精品一区二区| 欧美丝袜美女中出在线| 色狠狠久久aa北条麻妃| 成人网在线视频| 久久久久久91香蕉国产| 亚洲精品国产精品国自产观看浪潮| 欧美亚洲免费电影| 国产精品夫妻激情| 亚洲在线第一页| 亚洲a在线播放| 久久av在线播放| 欧美肥婆姓交大片| 欧美在线免费看| 成人综合网网址| 国产福利视频一区| 久久国产精品影视| 超碰日本道色综合久久综合| 欧美丝袜一区二区| 色无极亚洲影院| 欧美在线视频观看| 亚洲国产成人久久综合| 欧美视频13p| 精品日韩美女的视频高清| 清纯唯美亚洲综合| 亚洲欧美日韩国产中文专区| 久久天天躁狠狠躁夜夜躁| 夜夜狂射影院欧美极品| 亚洲美女精品成人在线视频| 国产成+人+综合+亚洲欧美丁香花| 国产午夜精品视频免费不卡69堂| 亚洲一区二区免费| 国产精品免费久久久久久| 亚洲香蕉在线观看| 亚洲欧美国产精品久久久久久久| 麻豆一区二区在线观看| 国产欧美一区二区| 亚洲一区av在线播放| 国产精品视频精品| 久久国产精品久久国产精品| 国产成人av在线播放| 国产成人精品在线视频| 一本一本久久a久久精品综合小说| 欧美在线视频免费播放| 国产精品久久久久久久久久东京| 久久久久久18| 日本久久久久久久久久久| 欧美一级大片在线免费观看| 亚洲成色www8888| 色偷偷888欧美精品久久久| 欧美性生交大片免网| 精品久久香蕉国产线看观看gif| 成人欧美一区二区三区在线湿哒哒| 亚洲精品www久久久久久广东| 亚洲乱码国产乱码精品精天堂| 亚洲国产欧美在线成人app| 国产精品久久久久久久午夜| 国产精品久久久久久久久久新婚| 国产精品美女av| 国产一区二区三区欧美| 欧美成人在线影院| 日韩中文字幕不卡视频| 亚洲欧洲美洲在线综合| 这里只有精品在线观看| 亚洲91精品在线| 日本成人精品在线| 97视频在线观看免费高清完整版在线观看| 国产精品jizz在线观看麻豆| 成人www视频在线观看| 青青青国产精品一区二区| 亚洲最新av网址| 91亚洲精华国产精华| 亚洲福利视频专区| 亚洲成成品网站| 日韩av网站在线| 精品成人国产在线观看男人呻吟| 久久久国产视频| 国产伦精品一区二区三区精品视频| 亚洲欧美中文日韩在线v日本| 在线观看日韩视频| 日韩高清免费在线| 国产精品视频内| 亚洲国产精久久久久久久| 国产成人精品一区二区| 久久色在线播放| 精品伊人久久97| 欧美日韩国产在线看| 久久久国产精品一区| 91久久久久久久| 亚洲国产美女久久久久| 欧美黑人极品猛少妇色xxxxx| 欧美日韩日本国产| 欧美另类99xxxxx| 欧美日韩裸体免费视频| 国内精品久久久久久中文字幕| 美日韩精品免费观看视频| 视频一区视频二区国产精品| 91九色视频导航| 国产亚洲欧美一区| 色狠狠久久aa北条麻妃| 亚洲第一视频网| 精品网站999www| 日韩中文字幕在线看| 日韩欧美中文字幕在线观看| 国产精品综合久久久| 日韩av在线免费观看| 日韩大陆毛片av| 在线国产精品视频| 欧美国产精品人人做人人爱| 日本免费在线精品| 91日韩在线视频| 一级做a爰片久久毛片美女图片| 国产精品户外野外| 2019av中文字幕| 日韩中文字幕在线视频| 国产主播在线一区| 欧美性xxxx极品hd欧美风情| 欧美大成色www永久网站婷| 91免费看视频.| 午夜精品久久久久久久男人的天堂| 国内精品免费午夜毛片|