2012-03-23 108 views
2

我被困在如何分析這種XML(有相同的元素名稱)XML解析器問題

<yweather:forecast day="Fri" date="18 Dec 2009" low="49" high="62" text="Partly Cloudy" code="30" /> 
<yweather:forecast day="Sat" date="19 Dec 2009" low="49" high="65" text="Partly Cloudy" code="30" /> 

鏈接到完整的XML響應:http://developer.yahoo.com/weather/

我用這個XML解析器方法

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict { 
if([elementName isEqualToString:@"yweather:forecast"]) { 
    if(_data1) { 
     [_data1 release]; 
    } 

    _data1 = [attributeDict retain]; 
} 

if([elementName isEqualToString:@"yweather:forecast"]) { 
    if(_data2) { 
     [_data2 release]; 
    } 

    _data2 = [attributeDict retain]; 
} 
} 

我要的是週五的天氣信息轉化爲satday DATA1百科&天氣信息到數據2字典

,但目前我只得到了一天(最後一個元素名稱)

回答

3

創建一個數組,這樣做

if([elementName isEqualToString:@"yweather:forecast"]) { 
    [array addObject:attributeDict]; 
} 

這個陣列會牽着你的數據,所有的日子

+0

您也可以使用谷歌的XML .. http://www.google.com/ig/api?weather=hyderabad+India – 2012-03-23 08:01:05

+0

非常感謝......解決問題 – sajaz 2012-03-23 10:50:47