ios15的NSXMLParser类使用解析XML

2021-12-13  本文已影响0人  Johnson_9d92

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

https://gitee.com/johnson__save_admin/xmldemo

上一篇 下一篇

猜你喜欢

热点阅读