摘要通過soap請求webservice時,返回的資料是xml型別,有時候也需要解析本地的xml資料等,蘋果自帶類nsxmlparser解析xml還是很方便的,簡單輕便
解析xml nsxmlparser xmlparser ios
本文以解析本地xml為例,網路獲取到的返回值只需轉換成nsdata型,解析是同理
需要解析的xml檔案如下,users.xml
<?xml version="1.0"encoding="utf-8"?>
使用者資訊
芳仔小腳印
10jiangsu university
毒蟲22
nanjing university
女神23
hongkong university
我們用乙個陣列來存放,最終資料結構為(,
,,)解析步驟
一、宣告** nsxmlparserdelegate
二、解析
// 遇到節點message和user時作為乙個字典存放
nsarray *keyelements = [[nsarray alloc] initwithobjects:@"message",@"user", nil];
// 需要解析的字段
nsarray
*rootelements = [[
nsarray
alloc
] initwithobjects
:@"message",@"name",@"age",@"school",
nil];
// 獲取xml檔案的路徑
nsstring
*xmlpath = [[
nsbundle
mainbundle] pathforresource:
@"users"oftype:
@"xml"];
// 轉化為data
nsdata
*data = [[
nsdata
alloc] initwithcontentsoffile:
xmlpath];
// 初始化
nsxmlparser *xmlparser = [[nsxmlparser
alloc] initwithdata:data];
// **
xmlparser.delegate = self;
// 開始解析
boolflag = [xmlparser
parse];
if(flag)
else
中間變數,在.m的inte***ce的中定義
nsstring *currentelement;
nsstring *currentvalue;
nsmutabledictionary*rootdic;
nsmutablearray*finalarray;
**方法
#pragma - mark 開始解析時
-(void)parserdidstartdocument:(nsxmlparser *)parser
#pragma - mark 發現節點時
-(void)parser:(nsxmlparser *)parser didstartelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname attributes:(nsdictionary *)attributedict
else}}
}}#pragma - mark 發現節點值時
-(void)parser:(nsxmlparser *)parser foundcharacters:(nsstring *)string
}#pragma - mark 結束節點時
-(void)parser:(nsxmlparser *)parser didendelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname
for(nsstring *key in
self.keyelements)}}
}#pragma - mark 結束解析
-(void)parserdidenddocument:(nsxmlparser *)parser
解析完成後,列印出finalarray為 ,,,)
我就看看不說話 讀取通訊錄
一 在工程中新增addressbook.framework和addressbookui.framework 二 獲取通訊錄 1 在infte ce中定義陣列並在init方法中初始化 nsmutablearray addressbooktemp id initwithnibname nsstring ...
我就看看不說話 xcode 快捷鍵
1.檔案 cmd n 新檔案 cmd shift n 新專案 cmd o 開啟 cmd s 儲存 cmd shift s 另存為 cmd w 關閉視窗 cmd shift w 關閉檔案 2.編輯 cmd 左縮排 cmd 右縮排 cmd d 新增書籤 cmd 注釋或取消注釋 ctrl 引數提示 esc...
我只看看,我不說話
如果乙個男人真的愛你 如果乙個男人真的愛你如果乙個男人真的愛你,他的手機會為你24小時開機,在你最需要他的時候可以隨時找到他,因為他愛你,所以會時時擔心你。如果乙個男人愛你,他會很自豪的告訴他的朋友與家人你是他最愛的女人,當然並不是時時掛在嘴上,而是用一種行動去告訴別人,你是他最愛的女人!因為有了你...