XML解析筆記

@interface ViewController ()<NSXMLParserDelegate>
@end
-(void)parserXml{
  // 0.請(qǐng)求路徑
  NSURL *url = [NSURL URLWithString:@"xmlUrl"];
  // 1.創(chuàng)建請(qǐng)求對(duì)象
  NSURLRequest *request = [NSURLRequest requestWithURL:url];
  // 2.發(fā)送請(qǐng)求
  [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
  // 創(chuàng)建XML解析器
  NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
  // 設(shè)置代理
  parser.delegate = self;
  // 開始解析XML
  [parser parse];
 }];
}

pragma mark - <NSXMLParserDelegate>

   * 解析到某個(gè)元素的結(jié)尾(比如解析</videos>)
   -(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{}

   * 解析到某個(gè)元素的開頭(比如解析<videos>)
   -(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
   {
     if ([elementName isEqualToString:@"videos"]) return;
   }

   * 開始解析XML文檔
   -(void)parserDidStartDocument:(NSXMLParser *)parser{}

   * 解析完畢
   -(void)parserDidEndDocument:(NSXMLParser *)parser{}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容