我必须解析标签的数量&子标签也是XML格式,那么如何在解析时使其平滑。获取要显示的数据?
请建议正确解析它的方法。
答案 0 :(得分:5)
//使用NSXMLParser
NSXMLParser *parser = [[NSXMLParser alloc]initWithContentsOfURL:[NSURL URLWithString:@"YOUR_URL"]];
[parser setDelegate:self];
[parser parse];
//以下是为您提供数据的代表
-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{
if([elementName isEqualToString:@"forecast_conditions"]){
getData = YES; // getData is a bool which is NO initialy
}
if(getData)
{
if([elementName isEqualToString:@"day_of_week"])
NSLog(@"%@",[attributeDict objectForKey:@"data"]);
if([elementName isEqualToString:@"low"])
NSLog(@"%@",[attributeDict objectForKey:@"data"]);
if([elementName isEqualToString:@"high"])
NSLog(@"%@",[attributeDict objectForKey:@"data"]);
if([elementName isEqualToString:@"icon"])
NSLog(@"%@",[attributeDict objectForKey:@"data"]);
if([elementName isEqualToString:@"condition"])
NSLog(@"%@",[attributeDict objectForKey:@"data"]);
}
}
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
}
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{
if([elementName isEqualToString:@"forecast_conditions"]){
getData = NO;
}
}