XML文件轉(zhuǎn)化成NSData對(duì)象的方法
更新時(shí)間:2015年08月12日 11:54:26 投稿:mrr
這篇文章主要介紹了XML文件轉(zhuǎn)化成NSData對(duì)象的方法,需要的朋友可以參考下
NSData *xmlData = [[NSData alloc]initWithContentsOfFile:[NSString stringWithFormat:@"%@/People.xml",[[NSBundle mainBundle] resourcePath]]]; //2.將xmlData轉(zhuǎn)化成xml文檔 GDataXMLDocument *xmlDocument = [[GDataXMLDocument alloc]initWithData:xmlData options:0 error:nil]; //3.得到節(jié)點(diǎn) GDataXMLElement *rootElement = xmlDocument.rootElement; //4.得到子節(jié)點(diǎn) /*NSArray *elementArray = rootElement.children; //得到classone節(jié)點(diǎn) GDataXMLElement *classoneElement = [elementArray firstObject]; for(GDataXMLElement *element in classoneElement.children) { //得到當(dāng)前節(jié)點(diǎn)的文本值 NSLog(@"%@",element.stringValue); if (element.children.count>0) { GDataXMLElement *infoElement = [element.children lastObject]; //獲得節(jié)點(diǎn)的所有屬性和屬性值 NSArray *attArray = infoElement.attributes; for (GDataXMLElement *attElement in attArray) { //得到屬性名和屬性值 NSLog(@"%@-%@",attElement.name,attElement.stringValue); } } } */ //模糊查找 NSArray *eArray = [rootElement nodesForXPath:@"http://info" error:nil]; NSLog(@"%@",eArray);
iPhone開發(fā) 解析xml NSData
具體內(nèi)容請(qǐng)看下文代碼分析:
xml字符串為: <users> <user name="hoge" age="20" /> <user name="fuga" age="30" /> </users> //解析按鈕事件 -(IBAction)btnXml { NSString* str= [uitextview1 text]; //string轉(zhuǎn)成data NSData *xmlData = [str dataUsingEncoding: NSUTF8StringEncoding]; //對(duì)xml進(jìn)行解析需要使用NSXMLParser類,首先聲明一個(gè)NSXMLParser對(duì)象 //開始解析 NSXMLParser* xmlRead = [[NSXMLParser alloc] initWithData:xmlData];//初始化NSXMLParser對(duì)象 [xmlRead setDelegate:self];//設(shè)置NSXMLParser對(duì)象的解析方法代理 [xmlRead parse];//調(diào)用代理解析NSXMLParser對(duì)象,看解析是否成功 } //解析器,從兩個(gè)結(jié)點(diǎn)之間讀取內(nèi)容 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { //NSLog(@"%@",string); } //獲得結(jié)點(diǎn)結(jié)尾的值 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { //NSLog(@"%@",elementName); } //獲得結(jié)點(diǎn)頭的值 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict { //NSLog(@"%@",elementName); if([elementName isEqualToString: @"user"]) { NSString* strName=[attributeDict valueForKey:@"name"]; NSString* strAge=[attributeDict valueForKey:@"age"]; NSString* strUser=uitextview2.text; strUser=[strUser stringByAppendingFormat:@"姓名:%@,年齡:%@\n",strName,strAge]; [uitextview2 setText:strUser]; //NSLog(@"姓名:%@,年齡:%@", strName,strAge); } }
您可能感興趣的文章:
相關(guān)文章
layUI實(shí)現(xiàn)三級(jí)導(dǎo)航菜單效果
這篇文章主要為大家詳細(xì)介紹了layUI實(shí)現(xiàn)三級(jí)導(dǎo)航菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07JS實(shí)現(xiàn)斐波那契數(shù)列的五種方式(小結(jié))
這篇文章主要介紹了JS實(shí)現(xiàn)斐波那契數(shù)列的五種方式(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09Bootstrap3 內(nèi)聯(lián)單選和多選框
這篇文章主要介紹了Bootstrap3 內(nèi)聯(lián)單選和多選框的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12能說明你的Javascript技術(shù)很爛的五個(gè)原因分析
Javascript在互聯(lián)網(wǎng)上名聲很臭,但你又很難再找到一個(gè)像它這樣如此動(dòng)態(tài)、如此被廣泛使用、如此根植于我們的生活中的另外一種語言2011-10-10JS面向?qū)ο缶幊袒A(chǔ)篇(一) 對(duì)象和構(gòu)造函數(shù)實(shí)例詳解
這篇文章主要介紹了JS面向?qū)ο缶幊虒?duì)象和構(gòu)造函數(shù),結(jié)合實(shí)例形式詳細(xì)分析了JS面向?qū)ο缶幊虒?duì)象和構(gòu)造函數(shù)具體概念、原理、使用方法及操作注意事項(xiàng),需要的朋友可以參考下2020-03-03JS截取字符串 subStr()、substring()、slice() 方法示例詳解
這篇文章主要介紹了JS截取字符串 subStr()、substring()、slice() 方法,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01