[数据存储之四]XML文件读取

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
{
    NSString* _CurNote;
}

- (void)viewDidLoad {
    [super viewDidLoad];
    NSString* str = [[NSBundle mainBundle] pathForResource:@"xml文件练习"ofType:@"xml"];
    NSURL* url = [NSURL fileURLWithPath:str];
    NSXMLParser* parser = [[NSXMLParser alloc] initWithContentsOfURL:url];
    parser.delegate = self;
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        //NSLog(@"%@",[NSThread currentThread]);
        BOOL isSun = [parser parse];
        NSLog(@"%@",isSun?@"YES":@"no");
    });
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
}

-(void)parserDidEndDocument:(NSXMLParser *)parser
{
    NSLog(@"解析完成");
}

-(void) parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
    NSString* str = [string stringByTrimmingCharactersInSet:
                    [NSCharacterSet whitespaceAndNewlineCharacterSet]];
    if (![str isEqualToString:@""]) {
        NSLog(@"Node is %@,Value is %@",_CurNote,str);
    }
    
}

-(void)  parser:(NSXMLParser *)parser
didStartElement:(NSString *)elementName
   namespaceURI:(NSString *)namespaceURI
  qualifiedName:(NSString *)qName
     attributes:(NSDictionary *)attributeDict
{
    _CurNote = elementName;
    if ([elementName compare:@"person"] == NSOrderedSame) {
        NSLog(@"age is:%@,sex is %@",
              [attributeDict objectForKey:@"age"],
              [attributeDict objectForKey:@"sex"]);
    }
}
@end

你可能感兴趣的:(xml,文件)