亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)航菜單效果

    layUI實(shí)現(xiàn)三級(jí)導(dǎo)航菜單效果

    這篇文章主要為大家詳細(xì)介紹了layUI實(shí)現(xiàn)三級(jí)導(dǎo)航菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • JS實(shí)現(xiàn)斐波那契數(shù)列的五種方式(小結(jié))

    JS實(shí)現(xiàn)斐波那契數(shù)列的五種方式(小結(jié))

    這篇文章主要介紹了JS實(shí)現(xiàn)斐波那契數(shù)列的五種方式(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • typescript路徑別名問題詳解與前世今生的故事

    typescript路徑別名問題詳解與前世今生的故事

    我們都知道只有正確引用路徑,Typescript才不會(huì)提示報(bào)錯(cuò),這篇文章主要給大家介紹了關(guān)于typescript路徑別名問題詳解與前世今生的故事,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Bootstrap3 內(nèi)聯(lián)單選和多選框

    Bootstrap3 內(nèi)聯(lián)單選和多選框

    這篇文章主要介紹了Bootstrap3 內(nèi)聯(lián)單選和多選框的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-12-12
  • javascript全局自定義鼠標(biāo)右鍵菜單

    javascript全局自定義鼠標(biāo)右鍵菜單

    這篇文章主要為大家詳細(xì)介紹了javascript全局自定義鼠標(biāo)右鍵菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • 能說明你的Javascript技術(shù)很爛的五個(gè)原因分析

    能說明你的Javascript技術(shù)很爛的五個(gè)原因分析

    Javascript在互聯(lián)網(wǎng)上名聲很臭,但你又很難再找到一個(gè)像它這樣如此動(dòng)態(tài)、如此被廣泛使用、如此根植于我們的生活中的另外一種語言
    2011-10-10
  • JS面向?qū)ο缶幊袒A(chǔ)篇(一) 對(duì)象和構(gòu)造函數(shù)實(shí)例詳解

    JS面向?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-03
  • js封裝成插件的步驟方法

    js封裝成插件的步驟方法

    本篇文章主要介紹了js封裝成插件的步驟方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • ES6中新增的Object.assign()方法詳解

    ES6中新增的Object.assign()方法詳解

    Object.assign方法用于對(duì)象的合并,將源對(duì)象( source )的所有可枚舉屬性,復(fù)制到目標(biāo)對(duì)象( target ),下面這篇文章主要給大家介紹了關(guān)于ES6中新增的Object.assign()方法的相關(guān)資料,需要的朋友可以參考下。
    2017-09-09
  • JS截取字符串 subStr()、substring()、slice() 方法示例詳解

    JS截取字符串 subStr()、substring()、slice() 方法示例詳解

    這篇文章主要介紹了JS截取字符串 subStr()、substring()、slice() 方法,本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01

最新評(píng)論