标签:
一、XML的解析
XML的解析分为SAX解析和DOM解析,DOM解析又分为根节点解析和叶子节点解析。
1.SAX解析步骤
a.获取XML数据存储的文件路径(假如XML文件为Students.xml)
NSString *filePath = [[NSBundle mainBundle]pathForResource:@"Students" ofType:@"xml"];
b.创建解析对象
//创建二进制数据对象
NSData *data = [NSData dataWithContentsOfFile:filePath];
NSXMLParser *parser = [[NSXMLParser alloc]initWithData:data];
c.设置代理人
parser.delegate = self;
d .开始解析
[parser parse];
e.释放所有权
[parser release];
2.需要实现NSXMLParserDelegate代理的方法
//当开始解析的时候调用
- (void)parserDidStartDocument:(NSXMLParser *)parser;
//当结束解析的时候调用
- (void)parserDidEndDocument:(NSXMLParser *)parser;
//该方法单个读取到开始标签的时候调用
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {
/*
elementName:标签的名字
namespaceURI:标签前缀的唯一标识(不经常使用)
qName:标签的前缀
attributeDict:存储标签属性的内容
*/
}
//该方法单个读取到结束标签的时候调用
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName ;
//当读取到标签之间的数据的时候调用
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string ;
标签:
原文地址:http://www.cnblogs.com/zyqc/p/4725517.html