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虛擬網橋,此宿主機上啟動的容器會預設連線到這個網橋上,容器通過...