我的应用程序使用yahoo的天气预报(XML)显示未来5天的天气预报。当邮政编码在美国时,这很有用。例如,下面的网址为我提供了富兰克林,密歇根州的饲料。
http://xml.weather.yahoo.com/forecastrss/48025_f.xml
我也需要为加拿大提供类似的饲料,但似乎无法让它发挥作用。例如,'Scarborough'的邮政编码是M1M1M1。试过
http://xml.weather.yahoo.com/forecastrss/M1M1M1_f.xml
但这不起作用。
提前致谢
答案 0 :(得分:3)
我正在可靠地使用:
http://weather.yahooapis.com/forecastrss?w=location
其中w = WOEID
和Scarborough, Canada
w=4369
所以:
http://weather.yahooapis.com/forecastrss?w=4369
将正确返回天气数据。有关API here的更多信息。
我也使用此方法获取给定位置名称字符串的WOEID
:
// Create new XML doc
XmlDocument xmldoc = new XmlDocument();
// Get XML doc
xmldoc.Load(string.Format("http://where.yahooapis.com/v1/places.q({0})?appid={1}", place, ApplicationID));
string woeid = xmldoc.GetElementsByTagName("woeid")[0].InnerText;
return woeid;
但为了实现这一点,您需要通过注册申请从ApplicationID
获得Yahoo
。