我正在通过API下载Google天气。 我在解析时遇到问题。

使用NSXMLParserDelegate,它找到元素“ forecast_conditions”,但是我似乎无法提取它的内容。 解析器似乎认为“高”和“低”等是单独的元素。

这是我尝试解析的元素:

<forecast_conditions><day_of_week data="Sun"/><low data="20"/><high data="38"/><icon data="/ig/images/weather/sunny.gif"/><condition data="Clear"/></forecast_conditions>

我很惊讶 ...

`- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{

 NSLog(@"foundCharacters string: %@",string);

}`

也不会返回任何东西。 我以为这解析了元素的内容

帮助表示赞赏。

===============>>#1 票数:0

事实证明,解析器会自动创建“ attributeDict”字典。 循环遍历elementNames,只需要调用[attributeDict objectForKey:@“ data”]。 下面的例子。

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{

// current conditions

if ([elementName isEqualToString:@"current_conditions"]) {

     currentConditions = [[NSMutableString alloc] init];
     temp_f = [[NSMutableString alloc] init];
     temp_c = [[NSMutableString alloc] init];
     humidity = [[NSMutableString alloc] init];
     currentIcon = [[NSMutableString alloc] init];
     wind_condition = [[NSMutableString alloc] init];

}

if ([elementName isEqualToString:@"condition"]) {
    [currentConditions appendString:[attributeDict objectForKey:@"data"]];
}
if ([elementName isEqualToString:@"temp_f"]) {
    [temp_f appendString:[attributeDict objectForKey:@"data"]];
}
if ([elementName isEqualToString:@"temp_c"]) {
    [temp_c appendString:[attributeDict objectForKey:@"data"]];
}
if ([elementName isEqualToString:@"humidity"]) {
    [humidity appendString:[attributeDict objectForKey:@"data"]];
}
if ([elementName isEqualToString:@"currentIcon"]) {
    [currentIcon appendString:[attributeDict objectForKey:@"data"]];
}
if ([elementName isEqualToString:@"wind_condition"]) {
    [wind_condition appendString:[attributeDict objectForKey:@"data"]];
}

  ask by Jeremy translate from so

未解决问题?本站智能推荐:

1回复

当XML数据根据输入的数据返回两个不同的类别时,如何解析XML数据?

我正在尝试获取iPhone应用程序的天气信息。 如果我输入的是5位数的邮政编码,则该代码有效。 但是,我要确保如果用户未输入有效的城市或邮政编码,则不会崩溃。 问题在于,对于Google Weather API,当输入有效地点时XML数据将读取“城市数据”,而当无效地点时XML数据将读取“
1回复

如何使用NSXML解析Google weather API?

我想使用NSXML解析Google Weather API,所以请为此提供一些指导。 这是我的网址 我已经采取了这样的步骤:
2回复

当我有经度和纬度坐标时,如何使用Google Weather API获取天气信息?

我已经找到了当前位置的经度和纬度,现在如何从Google API获取天气信息。 请帮忙!
4回复

google api获取天气信息

我需要根据用户当前位置获取天气信息。请提供给我google api以获得相同的信息。 更多信息:我正在使用http://www.google.com/ig/api?weather=Mumbai但谷歌有些错误:很抱歉...... ...但您的计算机或网络可能正在发送自动查询。 为了保
2回复

Google Weather API无法正常工作,发送奇怪的响应

我有时会使用Google Weather API,但从昨天开始,我收到一条奇怪的消息"Unsupported API" 。 我在Google上进行了搜索,但未找到相同的任何正式声明。 是否有人独自一个人遇到相同的问题或其问题。
1回复

Google Weather API条件

我正在使用SAX从Google Weather API中提取信息,但是“条件”存在问题。 具体来说,我正在使用以下代码: 要从这样的东西中提取XML: http://www.google.com/ig/api?weather=波士顿+ MA 同时,我正在尝试仅获取当前日
3回复

Google Weather API上的更改天气图标

嗨,我只是想问问更改Google Weather API上的天气图标的最佳方法是什么,将其路径更改为mysite.com/images/weather而不是/ ig / images / weather。 我在堆栈溢出中看到了同样的问题,但是我不知道如何在我的代码中实现它。 这是我的代码
6回复

Google Weather API消失了吗?

我一直在我的iPhone应用程序中使用以下Google Weather API来获取4天天气预报。 截至2012年8月25日昨天,我什么也没回来! 我没有得到任何结果。 这是什么时候的事儿? 有没有其他人遇到过同样的问题? 这是一个非常关键的问题,因为我有多个天气/时钟应用程序正在寻找Goog
1回复

Google Weather API温度转换

谷歌天气API显示华氏温度。 看完这篇文章后 ,我能够将温度从F转换为C. 但是,它显示像17.222222222222° C - 28.888888888889° C, Clear 。 我怎样才能使它只在17° C-28° C 。 提前致谢。
1回复

Google Weather API返回奇怪的新错误[关闭]

我在iPhone应用程序中使用Google Weather API,最近有时它会返回403错误,但现在它返回了一个非常时髦的错误,说“无法使用API​​”,无论我进入它的位置。 这里的例子。 有人知道发生了什么吗? 我检查了Google天气监控链接,它说一切正常。 到底他妈发生了什么