ios15的NSXMLParser类使用解析XML
必须遵守NSXMLParserDelegate协议。
重写里面的方法。
//
// ViewController.m
// xml
//
// Created by lujun on 2021/12/12.
//
#import "ViewController.h"
@interface ViewController ()<NSXMLParserDelegate>
@property(nonatomic,strong)NSMutableArray *videos;
@end
@implementation ViewController
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
NSLog(@"%ld",self.videos.count);
}
- (void)viewDidLoad {
[super viewDidLoad];
NSString *path = [[NSBundle mainBundle] pathForResource:@"111.xml" ofType:nil];
NSData *data = [NSData dataWithContentsOfFile:path];
NSXMLParser *parse = [[NSXMLParser alloc] initWithData:data];
parse.delegate = self;
[parse parse];
}
- (void)parserDidStartDocument:(NSXMLParser *)parser{}
- (void)parserDidEndDocument:(NSXMLParser *)parser{}
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary<NSString *,NSString *> *)attributeDict{
if([@"videos" isEqualToString:elementName]){
self.videos = [NSMutableArray array];
}else if([@"video" isEqualToString:elementName]){
// HMVideo *v1 = [HMVideo videmoWithDict:attributeDict];
// [self.videos addObject:v1];
NSLog(@"123");
UIButton *btn = [[UIButton alloc] init];
[self.videos addObject:btn];
}
}
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{}
@end
网友评论