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

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

iOS階段學習第23天筆記(XML數據格式介紹)

2019-11-14 18:40:10
字體:
來源:轉載
供稿:網友

iOS學習(OC語言)知識點整理

一、xml數據格式介紹  

1)概念:xml是extensible markup language擴展的標記語言,一般用來表示、傳輸和存儲數據

 

2)xml與json目前使用比較廣泛的兩種網絡傳輸數據格式 兩者分別占比:  

   1、 json:市場上占90%,輕量級的表示數據  

   2、xml:占10%,表示數據比較復雜

 

3)XML三種數據解析方法: 

 1、DOM解析:將整個xml數據加載到內存中,構造一個對象,從根結點開始一級一級的解析提取數據。缺點:如果數據大,

     比較占內存,解析比較費時。 優點:可以修改xml數據

 2、SAX解析:基于事件驅動的解析,讀取xml數據的過程就是解析的過程,當讀取到某個關鍵項(開始標記...)

      時可以進行處理。優點:解析速度快。缺點:不能修改xml數據

 

 3、使用第三方GData解析xml數據:  

   1)、導入第三方(GData)文件  

   2)、GData類使用了底層的libxml2庫文件,需要設置頭文件的搜索路徑:在Build Settings中選擇Header Search Paths,雙擊,

         點擊+,添加/Usr/include/libxml2  

   3)、添加二進制庫文件:在Build Phases中點擊Link Binary With Libraries,點+,選擇 libxml2.dylib

 

4)使用GData 解析XML數據實例代碼:  

 1 #import "GDataXMLNode.h" 2 int main(int argc, const char * argv[]) { 3 @autoreleasepool { 4 //1、讀取xml數據 5 NSData *data=[NSData dataWithContentsOfFile:@"/Users/Shared/ftp/book.txt"];
6 //將xml數據加載到內存中創建GDataXMLDocument對象 7 GDataXMLDocument *doc=[[GDataXMLDocument alloc]initWithData:data error:nil];
8 //獲取根標記 9 GDataXMLElement *root=[doc rootElement];
10 //在標記中根據子標記的名字獲取子標記(返回數組,因為只有一個books子標記)11 GDataXMLElement *booksElement=[[root elementsForName:@"books"] firstObject];
12 //獲取books下的所有book標記(數組)13 NSArray *bookArray=[booksElement elementsForName:@"book"];
14 //遍歷每個book標記15 for(GDataXMLElement *book in bookArray){16 GDataXMLElement *nameElement=[book elementsForName:@"name"][0];
17 //stringValue獲取標記的內容字符串18 NSLog(@"%@",[nameElement stringValue ]);
19 //獲取book標記下的auther子標記20 GDataXMLElement *autherElement=[book elementsForName:@"auther"][0];
21 //獲取auther標記下的子標記name(只有一個)22 GDataXMLElement *autherNameElement=[autherElement elementsForName:@"name"][0];23 NSLog(@"auther name:%@",[autherNameElement stringValue]);
24 //獲取book的id屬性對象25 GDataXMLNode *idNode=[book attributeForName:@"id"];26 //[idNode stringValue]取屬性值27 NSLog(@"id:%@",[idNode stringValue]);28 }29 }30 return 0;31 }

 

5)xPath表達式:字符串表達式,快速查找某一個標記  

 1、/:表示從根標記開始解析  

 2、//:表示任意位置的標記,滿足條件  

 3、./:表示當前標記  

 4、@:獲取標記的屬性

 

6)使用xPath解析XML數據實例代碼   

 1 NSData *data=[NSData dataWithContentsOfFile:path]; 2 //1、GDataXMLDocument對象 3 GDataXMLDocument *doc=[[GDataXMLDocument alloc]initWithData:data error:nil]; 4  //2、獲取根標記 5  GDataXMLElement *root=[doc rootElement]; 6  7 //返回任意標記下的所有的book標記 8 NSArray *bookArray=[root nodesForXPath:@"//book" error:nil]; 9 10 //遍歷所有的book標記,每個book標記描述的一本書,需要取出封裝成對象11 for(GDataXMLElement *book in bookArray){12 BookItem *item=[[BookItem alloc]init];13 14  //@"./name":返回當前(book)標記下的name標記15 GDataXMLElement *nameElement=[book nodesForXPath:@"./name" error:nil][0];16 item.name=nameElement.stringValue;17 18 //取book標記下的PRice標記19 GDataXMLElement *priceElement=[book elementsForName:@"price"][0];20 item.price=[priceElement stringValue];21 22 //取當前(book)標記下的auther標記下的name標記23 GDataXMLElement *autherNameElement=[book nodesForXPath:@"./auther/name" error:nil][0];24 item.autherName=[autherNameElement stringValue];25 26 //獲取book結點的id屬性對象,取值27 GDataXMLNode *idNode=[book attributeForName:@"id"];28 item.ID=[idNode stringValue];29 30 //取當前(book)標記的language屬性對象31 GDataXMLNode *languageNode=[book nodesForXPath:@"./@language" error:nil][0];32  item.language=[languageNode stringValue];33 [_bookArray addObject:item];34 }35 36 NSArray *nameArray=[root nodesForXPath:@"//auther/name" error:nil];37 for(GDataXMLElement *name in nameArray){38 NSLog(@"name:%@",[name stringValue]);39 }40 NSLog(@"**********");41 42 //獲取任意標記下的book標記,并且book中的子標記的price字符串值>10043 GDataXMLElement *book2=[root nodesForXPath:@"//book[price>100]" error:nil][0];44 NSLog(@"%@",[book2 stringValue]);

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久亚洲精品国产亚洲老地址| 欧美激情一区二区三区久久久| 精品国产91乱高清在线观看| 一个人看的www欧美| 日韩大片在线观看视频| 国产精品久久久久久久久久久新郎| 日本一区二区在线免费播放| 中国日韩欧美久久久久久久久| 综合激情国产一区| 亚洲成人中文字幕| 色无极影院亚洲| 欧美激情在线观看视频| 亚洲美女免费精品视频在线观看| 欧美激情视频网址| 欧美一级免费视频| 国产成人av网| 国产日韩综合一区二区性色av| 97高清免费视频| 国产成人在线一区二区| 日韩精品欧美激情| 国产一区二区三区三区在线观看| 日韩精品久久久久| 91精品国产高清自在线| 亚洲自拍欧美色图| 伦理中文字幕亚洲| 亚洲免费中文字幕| 亚洲黄色www| 亚洲在线视频福利| 欧美日韩中文字幕综合视频| 97在线观看免费| 久久精品视频在线播放| 国产一区视频在线播放| 亚洲精品永久免费精品| 亚洲免费av片| 国产91在线高潮白浆在线观看| 国产欧美一区二区| 91免费观看网站| 国产精品久久一区| 18一19gay欧美视频网站| 国产精品一区二区久久国产| 欧美精品在线网站| 97在线观看视频国产| 日韩av在线看| 国产精品影片在线观看| 精品久久久国产精品999| 黄色精品在线看| 欧美国产日韩一区二区在线观看| 日韩激情视频在线播放| 在线精品高清中文字幕| 国产精品美女视频网站| 综合136福利视频在线| 国产成人自拍视频在线观看| 精品国产乱码久久久久久虫虫漫画| 久久91亚洲精品中文字幕奶水| 亚洲天堂男人天堂女人天堂| 久久久视频在线| 日韩美女写真福利在线观看| 亚洲一区中文字幕在线观看| 中文字幕亚洲专区| 亚洲最大福利网| 亚洲欧美精品一区二区| 亚洲国产精品人人爽夜夜爽| 自拍偷拍亚洲精品| 欧美丰满老妇厨房牲生活| 国产日韩精品电影| 91精品国产色综合久久不卡98| 久久久久久久久久婷婷| 精品国产欧美一区二区五十路| 亚洲色图偷窥自拍| 日韩国产精品亚洲а∨天堂免| 日韩在线视频免费观看高清中文| 中文字幕亚洲综合久久筱田步美| 精品国产老师黑色丝袜高跟鞋| 91九色国产视频| 最好看的2019年中文视频| 久久久久久久一区二区三区| 欧美激情日韩图片| 国产精品免费视频xxxx| 精品动漫一区二区| 精品国产区一区二区三区在线观看| 精品国产依人香蕉在线精品| 欧美日韩中文字幕在线视频| 成人h猎奇视频网站| 在线免费看av不卡| 国产精品国产福利国产秒拍| 国产网站欧美日韩免费精品在线观看| 中文.日本.精品| 亚洲精品久久在线| 国产精品国内视频| 国产亚洲激情在线| 国内精品伊人久久| 亚洲日韩中文字幕在线播放| 成人a级免费视频| 在线亚洲欧美视频| 欧美一区二区三区免费观看| 91性高湖久久久久久久久_久久99| 中文字幕不卡在线视频极品| 国产在线观看91精品一区| 中文字幕久久亚洲| 欧美乱大交xxxxx| 欧美视频在线免费看| 欧美xxxx18国产| 亚洲国产福利在线| 在线视频欧美日韩| 亚洲国产精品久久久久秋霞不卡| 国产精品久久久av| 亚洲欧美三级在线| 18性欧美xxxⅹ性满足| 韩国v欧美v日本v亚洲| 亚洲成人在线视频播放| www.久久久久久.com| 亚洲欧美日韩爽爽影院| 色综合久久精品亚洲国产| 亚洲国产美女久久久久| 日本亚洲精品在线观看| 亚洲午夜av电影| 麻豆乱码国产一区二区三区| 日韩在线资源网| 欧美性videos高清精品| 亚洲国产欧美日韩精品| 久久网福利资源网站| 亚洲欧美国产精品va在线观看| 国产精品视频久| 97碰碰碰免费色视频| 亚洲福利在线播放| 亚洲人成网站色ww在线| 国产精品亚洲综合天堂夜夜| 欧美一区二区三区精品电影| 日本一区二区在线免费播放| 在线观看欧美www| 亚洲欧美一区二区三区情侣bbw| 国产999在线观看| 午夜剧场成人观在线视频免费观看| 大量国产精品视频| 国产精品久久久久av| 久久亚洲精品视频| 日韩中文字幕免费看| 亚洲区中文字幕| 久久久亚洲成人| 日韩女优人人人人射在线视频| 亚洲欧美日韩国产成人| 2023亚洲男人天堂| 亚洲一区二区三区视频| 久久久久国产视频| 91夜夜揉人人捏人人添红杏| 97久久精品人搡人人玩| 久久久中精品2020中文| 欧美精品成人在线| 不卡中文字幕av| 一区二区三区黄色| 中文字幕精品av| 日韩在线免费高清视频| 亚洲变态欧美另类捆绑| zzjj国产精品一区二区| 欧美成人午夜激情在线| 孩xxxx性bbbb欧美| 92裸体在线视频网站| 久久影院资源网| 原创国产精品91| 日韩欧美亚洲综合| 国产精品无码专区在线观看| 国产精品2018| 亚洲成人网在线| 欧美日韩国产成人在线观看|