//4.解析数据 //4.1 创建XML解析器:SAX NSXMLParser *parser = [[NSXMLParser alloc]initWithData:data]; //4.2 设置代理 parser.delegate = self; //4.3 开始解析,阻塞 [parser parse];
//1.开始解析XML文档的时候 -(void)parserDidStartDocument:(NSXMLParser *)parser { NSLog(@"%s",__func__); } //2.开始解析某个元素 -(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary<NSString *,NSString *> *)attributeDict { NSLog(@"开始解析%@---%@",elementName,attributeDict); //过滤根元素 if ([elementName isEqualToString:@"videos"]) { return; } //字典转模型 [self.videos addObject:[XMGVideo mj_objectWithKeyValues:attributeDict]]; } //3.某个元素解析完毕 -(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName { NSLog(@"结束解析%@",elementName); } //4.结束解析 -(void)parserDidEndDocument:(NSXMLParser *)parser { NSLog(@"%s",__func__); }