using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using System.Net;
using System.IO;
namespace Xtream_ToolBox.Sensors {
[XmlRoot("weather")]
public class Weather {
private const String serviceUrl = "http://xoap.weather.com/weather/local/";
private const String partner_id = "xxxxxx";
private const String license_key = "xxxxxx";
public static String unit_metric = "m";
public static String unit_standard = "s";
[XmlElement("head")]
public TWC_Header header;
[XmlElement("loc")]
public TWC_Location currentLocation;
[XmlElement("cc")]
public TWC_CC currentCondition;
// default constructor
public Weather() {
}
public static Weather getCurrentConditionWeather(String codeLocation, String unit) {
Weather weather = null;
try {
Uri uri = new Uri(serviceUrl + codeLocation + "?cc=&prod=xoap&par=" + partner_id + "&key=" + license_key + "&unit=" + unit);
XmlSerializer xmlSerializer = new XmlSerializer(typeof(Weather));
WebResponse webResponse = HttpWebRequest.CreateDefault(uri).GetResponse();
Stream stream = webResponse.GetResponseStream();
weather = (Weather)xmlSerializer.Deserialize(stream);
stream.Close();
} catch (InvalidOperationException invalidOperationException){
Console.WriteLine(invalidOperationException.Message);
} catch (Exception exception) {
Console.WriteLine(exception.Message);
}
return weather;
}
}
public class TWC_Header {
[XmlElement("locale")]
public String locale;
[XmlElement("form")]
public String form;
[XmlElement("ut")]
public String ut;
[XmlElement("ud")]
public String ud;
[XmlElement("us")]
public String us;
[XmlElement("up")]
public String up;
[XmlElement("ur")]
public String ur;
}
public class TWC_Location {
[XmlElement("dnam")]
public String name;
[XmlElement("tm")]
public String time;
[XmlElement("lat")]
public String latitude;
[XmlElement("lon")]
public String longitude;
[XmlElement("sunr")]
public String sunRise;
[XmlElement("suns")]
public String sunSet;
[XmlElement("zone")]
public String zone;
}
public class TWC_CC {
[XmlElement("lsup")]
public String lsup;
[XmlElement("obst")]
public String obst;
[XmlElement("tmp")]
public String tmp;
[XmlElement("flik")]
public String flik;
[XmlElement("t")]
public String t;
[XmlElement("icon")]
public String icon;
[XmlElement("bar")]
public TWC_Bar bar;
[XmlElement("wind")]
public TWC_Wind wind;
[XmlElement("hmid")]
public String hmid;
[XmlElement("vis")]
public String vis;
[XmlElement("uv")]
public TWC_Uv uv;
[XmlElement("dewp")]
public String dewp;
[XmlElement("moon")]
public TWC_Moon moon;
}
public class TWC_Bar {
[XmlElement("r")]
public String r;
[XmlElement("d")]
public String d;
}
public class TWC_Wind {
[XmlElement("s")]
public String s;
[XmlElement("gust")]
public String gust;
[XmlElement("d")]
public String d;
[XmlElement("t")]
public String t;
}
public class TWC_Uv {
[XmlElement("i")]
public String i;
[XmlElement("t")]
public String t;
}
public class TWC_Moon {
[XmlElement("icon")]
public String icon;
[XmlElement("t")]
public String t;
}
}
Partager