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

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

iOSxml解析

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

iOS xml 解析方法有兩種:SAX , DOM.

SAX 不用借助第三方,在解析過程中逐行解析.(NSXMLParser,需要實現代理),具體步驟:

1.獲取文件路徑.

2.創建 NSXMLParser 對象.

3.遵守協議,設置代理.

4.實現代理方法

  1>- (void)parserDidStartDocument:  ---- 開始解析

  2>- (void)parserDidEndDocument: ----解析結束

  3>- (void)parser:didStartElement:namespaceURI:qualifiedName:attributes: ----遇到開始標簽

  4>- (void)parser:didEndElement:namespaceURI:qualifiedName: ----遇到結束標簽

  5>- (void)parser: foundCharacters:  -----遇到值

 

詳細代碼:

 1 - (IBAction)xmlParserWithSAX:(id)sender { 2      3     //獲取文件路徑 4     NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"xml"]; 5     //轉換為url 6     NSURL *url = [[NSURL alloc]initFileURLWithPath:filePath]; 7     //創建 NSXMLParser 對象 8     NSXMLParser *parser = [[NSXMLParser alloc]initWithContentsOfURL:url]; 9     parser.delegate = self;10     //開始解析11     [parser parse];12 }

代理方法實現:

 1 /** 2  *  開始解析 xml 3  */ 4 - (void)parserDidStartDocument:(NSXMLParser *)parser{ 5     NSLog(@"開始解析"); 6     self.studentArray = [[NSMutableArray alloc]init]; 7 } 8  9 10 /**11  *  結束解析 xml12  */13 - (void)parserDidEndDocument:(NSXMLParser *)parser{14     NSLog(@"解析結束");15     for (StudentModel *stu in self.studentArray) {16         NSLog(@"%@",stu);17     }18 }19 20 /**21  *  遇到開始標簽22  */23 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary<NSString *,NSString *> *)attributeDict{24     NSLog(@"遇到開始節點:%@",elementName);25     if ([elementName isEqualToString:@"student"]) {26         self.studentModel = [[StudentModel alloc]init];27     }28 }29 30 /**31  *  遇到結束標簽32  */33 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{34     NSLog(@"遇到結束節點:%@",elementName);35    if ([elementName isEqualToString:@"name"]){36         self.studentModel.name = self.str;37     }else if ([elementName isEqualToString:@"age"]){38         self.studentModel.age = self.str;39     }else if ([elementName isEqualToString:@"gender"]){40         self.studentModel.gender = self.str;41     }else if ([elementName isEqualToString:@"student"]) {42         [self.studentArray addObject:self.studentModel];43     }44 }45 46 /**47  *  遇到的值48  */49 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{50     NSLog(@"%@",string);51     self.str = string;52 }

 

DOM 解析,先獲取全部文件內容,找出層次結構,需要用到第三方(GDataXMLNode).具體步驟:

1.修改配置 Header Search Paths 加上:/usr/include/libxml2  

  Other Linker Flags  加上:-lxml2

2.獲取文件路徑

3.獲取文件內容

4.獲取 xml 結構

5.遍歷節點取值

詳細代碼:

 1 - (IBAction)xmlParserWithDOM:(id)sender { 2      3     //獲取文件地址 4     NSString *filPath = [[NSBundle mainBundle] pathForResource:@"Student" ofType:@"xml"]; 5     NSError *error = nil; 6     //獲取文件內容 7     NSString *contact = [NSString stringWithContentsOfFile:filPath encoding:NSUTF8StringEncoding error:&error]; 8     if (error == nil) { 9         NSLog(@"%@",contact);10     }else {11         NSLog(@"%@",error);12     }13     //第三方14     GDataXMLDocument *document = [[GDataXMLDocument alloc]initWithXMLString:contact options:0 error:nil];15     16     //獲取 xml 根節點17     GDataXMLElement *rootElement = [document rootElement];18     19     //獲取 根節點包含的節點20     NSArray *array = [rootElement elementsForName:@"student"];21     22     NSMutableArray *arr = [[NSMutableArray alloc]init];23     24     //遍歷節點,取值25     for (GDataXMLElement *ele in array) {26         StudentModel *model = [[StudentModel alloc]init];27         model.name = [[[ele elementsForName:@"name"] firstObject] stringValue];28         model.age = [[[ele elementsForName:@"age"] firstObject] stringValue];29         model.gender = [[[ele elementsForName:@"gender"] firstObject] stringValue];30         [arr addObject:model];31         32     }33     34     for (StudentModel *stu in arr) {35         NSLog(@"%@",stu);36     }37     38 }

GDataXMLNode.zip 下載


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91香蕉嫩草神马影院在线观看| 国产成人精品一区| 日韩精品在线视频| 92看片淫黄大片欧美看国产片| 亚洲一区二区三| 精品视频9999| 国产97人人超碰caoprom| 国产精品亚洲激情| 国产精品igao视频| 亚洲图片欧洲图片av| 亚洲福利在线视频| 精品福利免费观看| 亚洲色图美腿丝袜| 亚洲毛片在线免费观看| 欧美在线视频一区二区| 欧美日韩一区免费| 日韩电影中文字幕在线观看| 91在线色戒在线| 日韩av综合网站| 亚洲在线视频福利| 久久精品国产69国产精品亚洲| 国产91在线高潮白浆在线观看| 日韩av电影手机在线| 日韩欧美国产网站| 国产亚洲视频中文字幕视频| 亚洲视频网站在线观看| 久久久久久久激情视频| 97精品一区二区三区| 精品女同一区二区三区在线播放| 最近中文字幕日韩精品| 欧美猛男性生活免费| 91最新在线免费观看| 欧美成人全部免费| 欧美电影免费观看电视剧大全| 亚洲精选中文字幕| 日韩欧美中文第一页| 久久久久亚洲精品成人网小说| 国产精品高潮呻吟久久av野狼| 久久久亚洲福利精品午夜| 成人综合网网址| 亚洲高清色综合| 91精品国产高清自在线| 亚洲一区二区在线播放| 欧美黑人性猛交| 久久综合国产精品台湾中文娱乐网| 久久亚洲电影天堂| 隔壁老王国产在线精品| 欧美精品日韩三级| 亚洲激情中文字幕| 国产精品成人一区二区三区吃奶| 亚洲人a成www在线影院| 亚洲成人久久网| 成人看片人aa| 国产一区深夜福利| 日本高清+成人网在线观看| 久久久久久成人精品| 亚洲精品一区二区三区不| 欧美大片免费观看| 日韩有码在线电影| 欧美成人午夜激情| 亚洲人成电影在线观看天堂色| 国产精品高精视频免费| 欧美高清无遮挡| 日韩精品在线观看一区二区| 97在线日本国产| 国产视频在线观看一区二区| 美女久久久久久久| 国产玖玖精品视频| 亚洲新声在线观看| 在线午夜精品自拍| 日韩中文字在线| 欧美一区亚洲一区| 日韩精品中文字幕有码专区| 91精品视频在线看| 色av中文字幕一区| 欧美在线日韩在线| 久久影院在线观看| 欧美野外猛男的大粗鳮| 日韩av中文字幕在线播放| 久久久国产精彩视频美女艺术照福利| 日本久久久a级免费| 欧美成人精品h版在线观看| 欧美丝袜美女中出在线| 国产日韩欧美自拍| 欧美黑人极品猛少妇色xxxxx| 欧美成人精品h版在线观看| 在线观看日韩av| 欧美精品性视频| 成人中文字幕在线观看| 性欧美视频videos6一9| 日本久久久a级免费| 国产精品成人观看视频国产奇米| 2019中文字幕在线免费观看| 日韩精品在线免费播放| 亚洲精品99久久久久| 欧美不卡视频一区发布| 国产噜噜噜噜久久久久久久久| 性欧美xxxx视频在线观看| 成人午夜激情免费视频| 色噜噜狠狠狠综合曰曰曰| 96国产粉嫩美女| 2019中文字幕在线| 久久在线视频在线| 97成人精品视频在线观看| 亚洲精品久久久久久久久久久久| 亚洲综合在线做性| 久久中文字幕一区| 91日韩在线播放| 美女国内精品自产拍在线播放| 亚洲国产成人精品久久| 2019中文字幕全在线观看| 成人淫片在线看| 日韩中文字幕精品视频| 欧美性猛交xxxxx免费看| 国产精品日日摸夜夜添夜夜av| 成人羞羞国产免费| 久久久久久网址| 精品久久久91| 国产精品999999| 国产精品久久久精品| 亚洲码在线观看| 777精品视频| 欧美精品18videos性欧| 亚洲欧美综合v| 国产精品盗摄久久久| 欧美另类老女人| 91香蕉嫩草神马影院在线观看| 亚洲黄色成人网| 国产欧美精品va在线观看| 亚洲国产成人精品久久久国产成人一区| 亚洲精品国产精品国自产观看浪潮| 久久久综合免费视频| 亚洲国产高清高潮精品美女| 97国产精品免费视频| 成人黄色av网站| 日本在线观看天堂男亚洲| 在线观看国产成人av片| 国产欧美在线观看| 国产精品一二三视频| 国产精品爱久久久久久久| 成人有码在线播放| 久久久精品国产| 日韩欧美主播在线| 亚洲成**性毛茸茸| 2019亚洲男人天堂| 欧美成人国产va精品日本一级| 国产一级揄自揄精品视频| 最新国产精品亚洲| 日本三级久久久| 成人中心免费视频| 亚洲激情视频在线观看| 国产第一区电影| 久久影院模特热| 国产97在线视频| 国产亚洲激情在线| 久久成人人人人精品欧| 国产日韩在线精品av| 色偷偷亚洲男人天堂| 国产一区二区三区在线播放免费观看| 国产精品一区二区久久国产| 欧美成人sm免费视频| 韩剧1988免费观看全集| 成人黄色在线免费| 亚洲欧洲在线视频|