iOS - OC - XML 解析 - NSXMLParser

        //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__);
}

猜你喜欢

转载自www.cnblogs.com/qingzZ/p/9298316.html