2012-04-11 22 views
1

GoogleのAPIを使用して現在の天気を取得しています。XML XCode属性

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
attributes:(NSDictionary *)attributeDict 
{ 
    if([elementName isEqualToString:@"condition"]) 
    {  
     NSString* string = [attributeDict objectForKey:@"data"]; 
     NSLog(@"The weather is now %@", string); 
    } 
[self setUIState:ACTIVE_STATE]; 
} 

これで3条件を取得しています。私が必要とするのは現在のことです。これをどのように解決すればよいですか?ここにはxml codeがあります。

"current_conditions"内にネストされた "condition"だけを取得しようとしています。ありがとう!

+0

'([がelementName isEqualToString:「current_conditions」@])もし、あなたが好きな取得するメソッドを実装することができます' – beryllium

+0

私は正確に何もだが、問題 – Hexark

+0

を解決しかし、あなたの場合はありません私よりも良い方法を見つけてください(下記)。 – Kuba

答えて

2

あなたがcurrent_conditionsにいるかどうかを確認するには、BOOL変数を使用します。例:

BOOL retrieveCurrentCondition;

はその後

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{ 
    if([elementName isEqualToString:@"current_conditions"]) 
    { 
     retrieveCurrentCondition= YES; 
    } 
} 

とバックNOにdidEndElementに、NOに初期化子でこれを設定します。

。一方、あなたがif(retrieveCurrentCondition)

+0

ありがとう!それは魅力のように働いた。 – Hexark