static void Jimmy_weatherForecast(Args _args) { XmlDocument doc = new XmlDocument(); XmlNamespaceManager ns; XmlNodeList nodes; XmlNode node; //AddressZipCode addresszipCode; container day(str _day) { ; switch(_day) { case 'Mon' : return [1,'Monday']; case 'Tue' : return [2,'Tuesday']; case 'Wed' : return [3,'Wednesday']; case 'Thu' : return [4,'Thursday']; case 'Fri' : return [5,'Friday']; case 'Sat' : return [6,'Saturday']; case 'Sun' : return [7,'Sunday']; Default : return connull(); } } ; //addresszipCode = _args.record(); doc.Load("http://xml.weather.yahoo.com/forecastrss?p= CHXX0123&u=c" );// +CHXX0037 UKXX0085 CHXX0123 //addresszipCode.ZipCode +’&u=c’); //东莞 : http://hk.weather.yahoo.com/china/guangdong/shilong-2162460/ // Set up namespace manager for XPath ns = new XmlNamespaceManager(doc.nameTable()); ns.AddNamespace("yweather", "http://xml.weather.yahoo.com/ns/rss/1.0"); // Get forecast with XPath nodes = doc.SelectNodes("//rss/channel/item/yweather:forecast", ns); node = nodes.nextNode(); setprefix("Weather forecast"); while (node) { info("-----------------------------------------------------"); info(conpeek(day(node.attributes().getNamedItem("day").InnerText()),2)); info("-----------------------------------------------------"); info( node.attributes().getNamedItem("text").InnerText()); info('Min :' + node.attributes().getNamedItem("low").InnerText()); info('Max :' + node.attributes().getNamedItem("high").InnerText()); if(dayofwk(today()) == conpeek(day(node.attributes().getNamedItem("day").InnerText()),1)) { info('Current :' + node.attributes().getNamedItem("code").InnerText()); } else { info('Current : NA'); } node = nodes.nextNode(); } }