//
// ViewController.m
// 13-sax解析xml
//
// Created by 唐帅 on 15/6/27.
// Copyright © 2015年 TS. All rights reserved.
//
#import "ViewController.h"
@interface ViewController ()<NSXMLParserDelegate>
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
[self loadData];
}
- (void)loadData{
// 获取URL
NSURL *URL = [NSURL URLWithString:@"http://localhost/videos.xml"];
// 创建请求
NSURLRequest *request = [NSURLRequest requestWithURL:URL];
// 发送异步请求
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) {
if (connectionError == nil && data.length > 0) {
//1:创建解析器
NSXMLParser *parser = [[NSXMLParser alloc]initWithData:data];
//
parser.delegate = self;
[parser parse];
}
}];
}
//开始解析文档
-(void)parserDidStartDocument:(NSXMLParser *)parser
{
NSLog(@"1.开始解析文档 %@",[NSThread currentThread]);
}
//找开始节点
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary<NSString *,NSString *> *)attributeDict
{
NSLog(@"2.找开始节点 %@--%@",elementName,attributeDict);
}
//找节点之间的内容
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
NSLog(@"3.找节点之间的内容 %@",string);
}
//找结束节点
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
NSLog(@"4.找结束节点 %@",elementName);
}
//结束解析文档
-(void)parserDidEndDocument:(NSXMLParser *)parser
{
NSLog(@"5.结束解析文档");
}
// 6.监听XML文件是否解析出错.
-(void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError
{
NSLog(@"6.监听XML文件是否解析出错 %@",parseError);
}
@end