如何为标签&amp ;;制作流畅的XML解析它内的子标签......?

时间:2012-05-30 09:58:17

标签: iphone

我必须解析标签的数量&子标签也是XML格式,那么如何在解析时使其平滑。获取要显示的数据?

请建议正确解析它的方法。

1 个答案:

答案 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;
       }

   }