XML文件轉(zhuǎn)化成NSData對象的方法
更新時間:2015年08月12日 11:54:26 投稿:mrr
這篇文章主要介紹了XML文件轉(zhuǎn)化成NSData對象的方法,需要的朋友可以參考下
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é)點 GDataXMLElement *rootElement = xmlDocument.rootElement; //4.得到子節(jié)點 /*NSArray *elementArray = rootElement.children; //得到classone節(jié)點 GDataXMLElement *classoneElement = [elementArray firstObject]; for(GDataXMLElement *element in classoneElement.children) { //得到當前節(jié)點的文本值 NSLog(@"%@",element.stringValue); if (element.children.count>0) { GDataXMLElement *infoElement = [element.children lastObject]; //獲得節(jié)點的所有屬性和屬性值 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)容請看下文代碼分析:
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]; //對xml進行解析需要使用NSXMLParser類,首先聲明一個NSXMLParser對象 //開始解析 NSXMLParser* xmlRead = [[NSXMLParser alloc] initWithData:xmlData];//初始化NSXMLParser對象 [xmlRead setDelegate:self];//設置NSXMLParser對象的解析方法代理 [xmlRead parse];//調(diào)用代理解析NSXMLParser對象,看解析是否成功 } //解析器,從兩個結(jié)點之間讀取內(nèi)容 - (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { //NSLog(@"%@",string); } //獲得結(jié)點結(jié)尾的值 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { //NSLog(@"%@",elementName); } //獲得結(jié)點頭的值 - (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)文章
JS實現(xiàn)斐波那契數(shù)列的五種方式(小結(jié))
這篇文章主要介紹了JS實現(xiàn)斐波那契數(shù)列的五種方式(小結(jié)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-09-09Bootstrap3 內(nèi)聯(lián)單選和多選框
這篇文章主要介紹了Bootstrap3 內(nèi)聯(lián)單選和多選框的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-12-12能說明你的Javascript技術(shù)很爛的五個原因分析
Javascript在互聯(lián)網(wǎng)上名聲很臭,但你又很難再找到一個像它這樣如此動態(tài)、如此被廣泛使用、如此根植于我們的生活中的另外一種語言2011-10-10JS面向?qū)ο缶幊袒A篇(一) 對象和構(gòu)造函數(shù)實例詳解
這篇文章主要介紹了JS面向?qū)ο缶幊虒ο蠛蜆?gòu)造函數(shù),結(jié)合實例形式詳細分析了JS面向?qū)ο缶幊虒ο蠛蜆?gòu)造函數(shù)具體概念、原理、使用方法及操作注意事項,需要的朋友可以參考下2020-03-03JS截取字符串 subStr()、substring()、slice() 方法示例詳解
這篇文章主要介紹了JS截取字符串 subStr()、substring()、slice() 方法,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01