当请求到数据之后
// 1.根据需要解析的XML数据, 创建NSXMLParser对象
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];
// 2.设置代理, 通过代理方法告诉NSXMLParser, 需要获取哪些元素和哪些属性
parser.delegate = self;
// 3.开始解析
[parser parse];
#pragma mark - NSXMLParserDelegate
// 只要开始解析XML文档就会调用
- (void)parserDidStartDocument:(NSXMLParser *)parser
{
NSLog(@"DidStartDocument");
}
// 只要解析完毕XML文档就会调用
- (void)parserDidEndDocument:(NSXMLParser *)parser
{
NSLog(@"DidEndDocument");
}
// 只要开始解析一个元素就会调用
// elementName : 元素名称
// attributeDict : 元素中的属性
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
// NSLog(@"%@", elementName);
// NSLog(@"%@", attributeDict);
}
// 只要解析完一个元素就会调用
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
NSLog(@"%@", elementName);
}
// 解析出现错误时调用
- (void)parser:(NSXMLParser *)parser validationErrorOccurred:(NSError *)validationError
{
NSLog(@"error");
}










网友评论