博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
xml格式文件解析
阅读量:5971 次
发布时间:2019-06-19

本文共 2300 字,大约阅读时间需要 7 分钟。

hot3.png

废话少讲,直接上代码!你懂的

@interface pyViewController ()

{ NSMutableString *_string ; NSMutableArray *_array; pyWeather *_w; } @end

/** 项目分析 1.先取出数据 2.再将数据显示到地图上, */

@implementation pyViewController

  • (void)viewDidLoad { [super viewDidLoad]; [self xmlHTTPRequestWithString:@"北京"]; }

-(void)xmlHTTPRequestWithString:(NSString *)str { //1.url NSString *urlString = @""; NSURL *url = [NSURL URLWithString:urlString]; //2.urlrequest NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:5.0f]; urlRequest.HTTPMethod = @"post"; NSString *datastring = [NSString stringWithFormat:@"theCityCode=%@&theUserID=",str]; urlRequest.HTTPBody = [datastring dataUsingEncoding:NSUTF8StringEncoding] ; //3.发送 [NSURLConnection sendAsynchronousRequest:urlRequest queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) { NSXMLParser *parser = [[NSXMLParser alloc] initWithData:data]; parser.delegate = self; [parser parse]; }]; }

#pragma mark -xml解析方法 #pragma mark 开始文档解析 -(void)parserDidStartDocument:(NSXMLParser *)parser {

_string = [NSMutableString string];_array = [NSMutableArray array];

}

#pragma mark 开始节点解析 -(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict {

if ([elementName isEqualToString:@"ArrayOfString"]) {    [_array removeAllObjects];}

} #pragma mark 真正解析 -(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string {

[_string appendString:string];

}

#pragma mark 完成借点解析 -(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {

if ([elementName isEqualToString:@"string" ]) {    //NSLog(@"%@",_string);    NSString *result = [NSString stringWithString: _string];    [_array addObject:result];}

}

#pragma mark 结束解析 -(void)parserDidEndDocument:(NSXMLParser *)parser {

NSLog(@"%@",_string);

}

#pragma mark 解析错误时 -(void)parser:(NSXMLParser *)parser parseErrorOccurred:(NSError *)parseError { NSLog(@"the reason of faile is %@",parseError.localizedDescription); }

如果有什么不懂的地方,你可以联系本人

转载于:https://my.oschina.net/panyong/blog/191903

你可能感兴趣的文章
《ASP.NET AJAX程序设计》图书相关资源总索引
查看>>
SecureCRT 绝佳配色方案, 保护你的眼睛
查看>>
深度学习网络训练技巧汇总
查看>>
ZOJ 2859 Matrix Searching(二维线段树)
查看>>
SQL Server: Datetime,Datetime2
查看>>
艾伟也谈项目管理,如何完成看似不可能完成的任务
查看>>
[转]gtest使用
查看>>
VS操作技巧
查看>>
修炼九阴真经Windows Phone开发 (13):Panorama全景模式概述与应用
查看>>
JAVA数据结构--选择排序
查看>>
java 获取当前函数名
查看>>
HDU 4251 The Famous ICPC Team Again(划分树入门题)
查看>>
Linux-IP地址后边加个/8(16,24,32)是什么意思?
查看>>
[PHP] Xhprof 非侵入式使用指南
查看>>
linux中cat、more、less命令区别详解
查看>>
[轉]E-R模型
查看>>
Asp.net MVC 3 防止 Cross-Site Request Forgery (CSRF)原理及扩展
查看>>
rubygem安装各种问题
查看>>
CEGUI 动画
查看>>
我的常用mixin 之 lines
查看>>