Sax解析XML

//

//  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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值