iOS - OC - XML 解析 - NSXMLParser

时间:2024-11-03 22:34:56
        //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__);
}