温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

xml数据解析

发布时间:2020-07-01 12:37:28 来源:网络 阅读:397 作者:天使的聆听 栏目:开发技术

- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    //准备网络的字符串数据

    NSString *urlStr = @"http://flash.weather.com.cn/wmaps/xml/beijing.xml";

    //把字符串类型的网址转化为NSURL类型

    NSURL *url = [NSURL URLWithString:urlStr];

    //使用URL实例化网络请求实例

    NSURLRequest *request = [NSURLRequest requestWithURL:url];

    //同步读取到网络上的数据

    NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];

    //实例化一个具体的解析类对象

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

    

    //设置解析代理对象

    xmlParser.delegate = self;

    //调用方法开始解析xml文件

    [xmlParser parse];

}

#pragma mark -NSXMLParserDelegate

#pragma mark -文档开始读取

- (void)parserDidStartDocument:(NSXMLParser *)parser

{

    //实例化存储数据的数组

    self.arrList = [NSMutableArray array];

}

#pragma mark -解析标签开始

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

{

    //首先用属性fromTagFlag获取elementName,供后面使用

    self.formTagFlag = elementName;

    //因为数据都是存储在属性中的,全部存储在了attributeDict里面了,在这里直接打印下

    NSLog(@"%@",attributeDict);

}

#pragma mark -获取标签数据对应的数据

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string

{

    //因为数据迪欧存储在了属性值中,所有不需要解析字标签

}

#pragma mark -文档结束读取

- (void)parserDidEndDocument:(NSXMLParser *)parser

{

    //打印获取到的数据的数组

    NSLog(@"%@",self.arrList);

}



向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI