- (void)viewDidLoad
{
[super viewDidLoad];
//网络请求 http://flash.weather.com.cn/wmaps/xml/china.xml
MKNetworkEngine *engine = [[MKNetworkEngine alloc]initWithHostName:@"flash.weather.com.cn"];
MKNetworkOperation *operate = [engine operationWithPath:@"wmaps/xml/china.xml" params:nil httpMethod:@"GET"];
[engine enqueueOperation:operate];
[operate addCompletionHandler:^(MKNetworkOperation *completedOperation) {
NSData * data = [completedOperation responseData];
if (data) {
[self parseXMLData:data]; //解析XML文件的数据
[self pushCollectionView]; //把数据用collectionview呈现
}
} errorHandler:^(MKNetworkOperation *completedOperation, NSError *error) {
}];
}
2、 XML数据解析
1、 <NSXMLParserDelegate>
2、-(void)parseXMLData:(NSData *)data
{
NSXMLParser *parser=[[NSXMLParser alloc]initWithData:data];
parser.delegate=self;
[parser parse];
}
3、-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict
{
if ( [@"china" isEqualToString:elementName] ) {
_cityNameList = [NSMutableArray array];
}else if ([@"city" isEqualToString:elementName] ){
WeatherInfo *weatherInfo=[[WeatherInfo alloc]init];
[weatherInfo weatherInfoWithDictionary:attributeDict];
[_cityNameList addObject:weatherInfo.cityName];
}
}
没时间了,我很急躁,所以整理的很粗糙,滚