(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(@”已经结束分析文件”);
}