本文共 3288 字,大约阅读时间需要 10 分钟。
#import "ViewController.h"#import "VideoModel.h"@interface ViewController ()@end@implementation ViewController { /// 模型数组 NSMutableArray *_videoM; /// 拼接节点之间的内容 NSMutableString *_stringM; /// 定义全局的模型 VideoModel *_currentModel;}- (void)viewDidLoad { [super viewDidLoad]; /// 实例化模型数组 _videoM = [NSMutableArray array]; _stringM = [NSMutableString string]; [self loadData];}- (void)loadData{ // 1.URL NSURL *URL = [NSURL URLWithString:@"http://localhost/videos.xml"]; // 2.session发起和启动任务 [[[NSURLSession sharedSession] dataTaskWithURL:URL completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) { // 3.处理了响应 if (error == nil && data != nil) { // 反序列化 : SAX方式解析XML // 1.创建XML解析器 NSXMLParser *XMLParser = [[NSXMLParser alloc] initWithData:data]; NSXMLParser *xmlparser = [[NSXMLParser alloc]initWithData:data]; // 2.遵守XML解析器 XMLParser.delegate = self; // 3.开启解析器 [XMLParser parse]; } else { NSLog(@"%@",error); } }] resume];}#pragma mark - NSXMLParserDelegate// 1.开始解析XML文档- (void)parserDidStartDocument:(NSXMLParser *)parser{ NSLog(@"1.开始解析XML文档");}/// 提示 : 代理方法的2-3-4一直在循环的解析XML!!!!!// 2.找开始节点- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(nullable NSString *)namespaceURI qualifiedName:(nullable NSString *)qName attributes:(NSDictionary *)attributeDict{ // elementName : 开始节点名称 // attributeDict : 节点的属性// NSLog(@"2.找开始节点 = %@ - %@",elementName,attributeDict); // 只有找到
转载地址:http://pfkii.baihongyu.com/