iOS数据解析之NSXMLParser

来源:互联网 发布:2016淘宝新店技巧 编辑:程序博客网 时间:2024/06/10 09:16
  • (void)viewDidLoad {
    [super viewDidLoad];

    [self setUpDataXMLParser];

}

// NSXMLParser 分析XML文件
- (void)setUpDataXMLParser
{
// 创建路径
// 注意:和文件名保持一致
NSString *path = [[NSBundle mainBundle] pathForResource:@”Student” ofType:@”xml”];

// NSData以二进制形式存储数据NSData *data = [NSData dataWithContentsOfFile:path];// 创建一个分析NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];// 设置代理parser.delegate = self;// 开始分析(利用代理协议 进行分析)[parser parse];// 释放要在这里,执行完代理方法再释放[parser release];

}

pragma mark – NSXMLParser 代理方法 —

  • (void)parserDidStartDocument:(NSXMLParser *)parser
    {
    // 解析数据在此处初始化数组或者字典
    NSLog(@”已经开始分析文件”);
    }

  • (void)parser:(NSXMLParser )parser didStartElement:(NSString )elementName namespaceURI:(NSString )namespaceURI qualifiedName:(NSString )qName attributes:(NSDictionary *)attributeDict
    {
    // 在此处初始化对象
    NSLog(@”开始遇到节点”);
    }

  • (void)parser:(NSXMLParser )parser foundCharacters:(NSString )string
    {
    // 保存字符串
    NSLog(@”发现字符触发”);

}

  • (void)parser:(NSXMLParser )parser didEndElement:(NSString )elementName namespaceURI:(NSString )namespaceURI qualifiedName:(NSString )qName
    {
    // 给对象赋值
    NSLog(@”遇到结束节点触发”);
    }

  • (void)parserDidEndDocument:(NSXMLParser *)parser
    {
    NSLog(@”已经结束分析文件”);
    }

0 0
原创粉丝点击