【发布时间】:2013-12-11 16:55:28
【问题描述】:
我已经设置了一个程序,它可以让我的天气正常 1 天,但我不知道如何获取其他 4 天的信息,因为在 xml 文件中,这些天都具有相同的名称。我如何访问不同日期的信息?
http://weather.yahooapis.com/forecastrss?w=2473224我正在使用的Xml
代码:
string query = String.Format("http://weather.yahooapis.com/forecastrss?w=2473224");
XmlDocument wData = new XmlDocument();
wData.Load(query);
XmlNamespaceManager manager = new XmlNamespaceManager(wData.NameTable);
manager.AddNamespace("yweather", "http://xml.weather.yahoo.com/ns/rss/1.0");
XmlNode channel = wData.SelectSingleNode("rss").SelectSingleNode("channel");
XmlNodeList nodes = wData.SelectNodes("/rss/channel/item/yweather:forecast", manager);
string temperature = channel.SelectSingleNode("item").SelectSingleNode("yweather:condition", manager).Attributes["temp"].Value;
string condition = channel.SelectSingleNode("item").SelectSingleNode("yweather:condition", manager).Attributes["text"].Value;
string humidity = channel.SelectSingleNode("yweather:atmosphere", manager).Attributes["humidity"].Value;
string WindSpeed = channel.SelectSingleNode("yweather:wind", manager).Attributes["speed"].Value;
string town = channel.SelectSingleNode("yweather:location", manager).Attributes["city"].Value;
string tfcond = channel.SelectSingleNode("item").SelectSingleNode("yweather:forecast", manager).Attributes["text"].Value;
string tfhigh = channel.SelectSingleNode("item").SelectSingleNode("yweather:forecast", manager).Attributes["high"].Value;
string tflow = channel.SelectSingleNode("item").SelectSingleNode("yweather:forecast", manager).Attributes["low"].Value;
好吧,我通过将值分配给这样的数组并使用这样的一些代码来解决这个问题。
var FiveDays = channel.SelectSingleNode("item").SelectNodes("yweather:forecast", manager); foreach(五天的 XmlNode 节点) { var day = node.Attributes["day"].Value; dayarray[i] = (day); // var text = node.Attributes["text"].Value; 文本数组[i] = (文本); 感谢您的所有帮助!
【问题讨论】: