我就看看不說話 soap XML解析

2021-07-02 16:15:44 字數 2234 閱讀 3588

摘要通過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小時開機,在你最需要他的時候可以隨時找到他,因為他愛你,所以會時時擔心你。如果乙個男人愛你,他會很自豪的告訴他的朋友與家人你是他最愛的女人,當然並不是時時掛在嘴上,而是用一種行動去告訴別人,你是他最愛的女人!因為有了你...