点步

导航

XML-SAX解析

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event

{

    // 创建网络请求

    

    NSURL *url = [NSURL URLWithString:@"http://localhost/resources/vedios.xml"];

    

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    

    // 发送网络请求

    [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {

        

        //

        // NSLog(@"%@",[[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]);

        

        // SAX解析

        

        // XML解析器 data:xml数据

        NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data];

        // 设置代理

        parser.delegate = self;

        // 开始解析

        [parser parse];

        

    }];

}

 

// 开始解析XML文档的时候,就会调用

- (void)parserDidStartDocument:(NSXMLParser *)parser

{

   // NSLog(@"1.开始解析XML文档的时候");

}

 

// 开始解析元素的时候

// elementName:元素名称

// attributeDict:元素属性

 

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict

{

   // NSLog(@"2.开始解析元素的时候 元素名称:%@",elementName);

    

    NSLog(@"开始解析元素的时候 元素名称:%@ 元素属性:%@",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);

 

}

 

// 解析XML文档结束的时候,就会调用

- (void)parserDidEndDocument:(NSXMLParser *)parser

{

    // NSLog(@"5.解析XML文档结束的时候");

 

}

 

posted on 2015-11-05 14:00  点步  阅读(152)  评论(0编辑  收藏  举报