XML解析笔记

2016-03-23  本文已影响50人  选一个昵称呗
@interface ViewController ()<NSXMLParserDelegate>
@end
-(void)parserXml{
  // 0.请求路径
  NSURL *url = [NSURL URLWithString:@"xmlUrl"];
  // 1.创建请求对象
  NSURLRequest *request = [NSURLRequest requestWithURL:url];
  // 2.发送请求
  [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
  // 创建XML解析器
  NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
  // 设置代理
  parser.delegate = self;
  // 开始解析XML
  [parser parse];
 }];
}

pragma mark - <NSXMLParserDelegate>

   * 解析到某个元素的结尾(比如解析</videos>)
   -(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{}

   * 解析到某个元素的开头(比如解析<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{}
上一篇下一篇

猜你喜欢

热点阅读