iOS之檔案解析

2022-09-04 09:12:09 字數 1456 閱讀 3398

json

json – oc 轉換對照表

json

oc{}

nsdictonary

nsarray

""nsstring

數字 10,10.5

nsnumber

nsjsonserialization的常見方法

json資料 -> oc物件

+ (id)jsonobjectwithdata:(nsdata *)data options:(nsjsonreadingoptions)opt error:(nserror **)error;

oc物件 -> json資料 

+ (nsdata *)datawithjsonobject:(id)obj options:(nsjsonwritingoptions)opt error:(nserror **)error;

xml乙個常見的xml文件一般由以下部分組成

文件宣告

元素(element)

屬性(attribute)

乙個元素可以擁有多個屬性

video元素擁有name和length兩個屬性

屬性值必須用 雙引號"" 或者 單引號'' 括住

實際上,屬性表示的資訊也可以用子元素來表示,比如

jack 第01部

30注意:

1.xml中的所有空格和換行,都會當做具體內容處理

2.json的體積小於xml,所以伺服器返回給移動端的資料格式以json居多

xml的解析方式有2種

dom:一次性將整個xml文件載入進記憶體,比較適合解析小檔案

sax:從根元素開始,按順序乙個元素乙個元素往下解析,比較適合解析大檔案

xml解析方式的選擇建議

大檔案:nsxmlparser(蘋果原生,sax方式解析,使用簡單)、libxml2(純c語言,預設包含在ios sdk中,同時支援dom和sax方式解析)

小檔案:gdataxml(dom方式解析,由google開發,基於libxml2)

nsxmlparser

使用步驟

1 傳入xml資料,建立解析器

nsxmlparser *parser = [[nsxmlparser alloc] initwithdata:data];

2 設定**,監聽解析過程

parser.delegate = self;

3 開始解析

[parser parse];

nsxmlparser採取的是sax方式解析,特點是事件驅動,下面情況都會通知**

當掃瞄到文件(document)的開始與結束

當掃瞄到元素(element)的開始與結束

gdataxml

gdataxml中常用的類

gdataxmldocument:代表整個xml文件

gdataxmlelement代表文件中的每個元素

使用attributeforname:方法可以獲得屬性值

iOS逆向之五 MACH O檔案解析

macho檔案是蘋果可執行二進位制檔案的格式 lc segment 64 將可執行檔案 64位 對映到程序位址空間 32位系統的是lc segment 是載入的主要命令,負責指導核心來設定程序的記憶體空間 lc dyld info only 動態鏈結相關資訊 lc symtab 符號表位址 lc d...

iOS之資料解析之XML解析

xml解析常見的兩種方式 dom解析和sax解析 dom解析 解析 如下 void xmldommethed nslog self sourcearray 寫入 如下 通過dom解析方式為xml增加節點 sax只可以讀取,不可以新增 void domaddnote sax解析 遵循協議 inte c...

ios解析csv檔案

nsstring path nsbundle mainbundle pathforresource citys oftype csv nsstringencoding gbkencoding cfstringconvertencodingtonsstringencoding kcfstringenc...