您的位置:首页 > 移动开发 > IOS开发

iOS-XML文件解析(原生NSXMLParser和GDataXML两种解析方式)

2017-10-08 16:27 441 查看
XML文件解析常用的两种方式一种为苹果原生的NSXMLParser,另外一种为第三方GDataXML

1.原生的NSXMLParser方式:
//*利用 NSXMLParser 方式
-(void)XMLParserWithData:(NSData *)data{
//1.创建NSXMLParser
NSXMLParser *XMLParser = [[NSXMLParser alloc] initWithData:data];
//2.设置代理
[XMLParser setDelegate:self];
//3.开始解析
[XMLParser parse];
}
1
2
3
4
5
6
7
8
9

在代理方法中进行数据解析
#pragma mark - NSXMLParserDelegate
//1.开始解析XML文件
-(void)parserDidStartDocument:(NSXMLParser *)parser{
NSLog(@"开始解析XML文件");
}
//2.解析XML文件中所有的元素
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary<NSString *,NSString *> *)attributeDict{
NSLog(@"解析XML文件中所有的元素:elementName:%@,attributeDict:%@",elementName,attributeDict);
if ([elementName isEqualToString:@"video"]) {
//MJExtension 解析数据
Model *model = [Model mj_objectWithKeyValues:attributeDict];
[self.dataArrM addObject:model];
}
}
//3.XML文件中每一个元素解析完成
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
NSLog(@"XML文件中每一个元素解析完成:elementName:%@,qName:%@",elementName,qName);
}
//4.XML所有元素解析完毕
-(void)parserDidEndDocument:(NSXMLParser *)parser{
NSLog(@"XML所有元素解析完毕:%@",self.dataArrM);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  xml iOS ios开发
相关文章推荐