網路之XML解析 原生

2021-09-08 03:48:57 字數 2391 閱讀 9854

json和xml都屬於字串,用於跨平台,前面總結了下json,下面看下xml。

一、首先看下要解析的xml內容

<?xml version="1.0" encoding="utf-8"?>

tom20

john

33 eric

43 tony

54

二、在專案中新增person類為其新增屬性

//

// person.h

// xmldemo

//// created by city--online on 15/4/29.

//#import @inte***ce person : nsobject

@property(nonatomic,strong)nsstring *pid;

@property(nonatomic,strong)nsstring *name;

@property(nonatomic,assign)int age;

@end

三、用ios原生框架來解析xml,注意實現**

//

// viewcontroller.m

// xmldemo

//// created by city--online on 15/4/29.

//#import "viewcontroller.h"

#import "person.h"

@inte***ce viewcontroller () @property (nonatomic, strong) nsmutablearray *personarray;

@property (nonatomic, strong) nsmutablestring *element;

@end

@implementation viewcontroller

- (void)viewdidload

// step1 開始解析

-(void)parserdidstartdocument:(nsxmlparser *)parser

//step2 開始解析元素 獲取頭標籤的資訊<>裡面的屬性、名字

-(void)parser:(nsxmlparser *)parser didstartelement:(nsstring *)elementname namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname attributes:(nsdictionary *)attributedict

if ([elementname isequaltostring:@"user"])

if ([elementname isequaltostring:@"name"])

if ([elementname isequaltostring:@"age"])

}//step3 獲得首尾標籤間 > < 的內容

//此處分幾種情況:

//1.當標籤間內容為「」,如果(如圖

)則進入step4,否則進入step2

//2.當標籤間內容不為「」,則進入step4

- (void)parser:(nsxmlparser *)parser foundcharacters:(nsstring *)string

//step4 標籤解析結束

- (void)parser:(nsxmlparser *)parser didendelement:(nsstring *)elementname

namespaceuri:(nsstring *)namespaceuri qualifiedname:(nsstring *)qname

if ([elementname isequaltostring:@"name"])

if ([elementname isequaltostring:@"age"])

if ([elementname isequaltostring:@"user"])

}//step5 解析結束

-(void)parserdidenddocument:(nsxmlparser *)parser

}//解析報錯

-(void)parser:(nsxmlparser *)parser parseerroroccurred:(nserror *)parseerror

- (void)didreceivememorywarning

@end

四、執行結果(顯示的內容過長,減少了兩個user)

在這裡要感謝陳高oliver和袁偉(偉哥)

網路 XML 解析

import viewcontroller.h import czvideo.h inte ce viewcontroller property nonatomic,strong nsmutablearray videos property nonatomic,strong czvideo curr...

iOS 網路資料之XML解析

向伺服器請求資料,那麼資料必須以某個特定的格式存放,然後一方把資料按這種格式組織起來,另一方按相同的方式把資料解析數來,就像是我們人之間講話交流,我們的話會轉變成振動 在空氣中傳播 然後對方的耳朵感受這種振動,然後把振動轉化為話,所以我認為格式的組織是為了更好的傳遞資料。一般網路資料會封裝成兩種格式...

docker原生網路解析

docker自帶的網路模式有bridge,none,host,container4種,docker network ls 檢視docker網路一 bridge模式 docker的預設模式,docker程序第一次啟動會建立乙個docker0虛擬網橋,此宿主機上啟動的容器會預設連線到這個網橋上,容器通過...