public City() { Weather = new WeatherInfo(); Weathers = new List <WeatherInfo>(); }
public void Add(WeatherInfo wt) { Weathers.Add(wt); }
private List <City> GetWeatherInfo(string url) { List <City> list = new List <City>(); HtmlWeb web = new HtmlWeb(); HtmlDocument doc = web.Load(url); City city; string dateUpdateWeather = doc.DocumentNode.SelectNodes("//html/body/div/div[3]/div[2]/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td/span") .FirstOrDefault().InnerText; bool start = true; string currentDate = doc.DocumentNode.SelectNodes("/html/body/div/div[3]/div[2]/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[2]/i") .FirstOrDefault().InnerText; string tomorow = doc.DocumentNode.SelectNodes("/html/body/div/div[3]/div[2]/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[3]/i") .FirstOrDefault().InnerText; string nextTomorow = doc.DocumentNode.SelectNodes("/html/body/div/div[3]/div[2]/table/tbody/tr[2]/td[2]/table[2]/tbody/tr/td[4]/i") .FirstOrDefault().InnerText; foreach (HtmlNode tr in doc.DocumentNode.SelectNodes("/html/body/div/div[3]/div[2]/table/tbody/tr[2]/td[2]/table[2]/tbody/tr[count(td[@valign='top'])=4]")) { if (start) { start = false; continue; } int index = 0; city = new City(); HtmlNode strong = tr.SelectNodes("td/div/a/h3/strong").FirstOrDefault(); city.Name = strong.InnerHtml; city.Weather.Date = dateUpdateWeather; WeatherInfo info; bool begin = true; foreach (var td in tr.SelectNodes("td")) { info = new WeatherInfo(); if (begin) { //HtmlNode img = td.SelectNodes("table/tbody/tr/td/img").FirstOrDefault(); //string s = IMAGE + img.Attributes["src"].Value; //city.Weather.Image = s; try { city.Weather.Image = IMAGE + td.SelectNodes("table/tbody/tr/td/img").FirstOrDefault().Attributes["src"].Value; city.Weather.Condition = td.SelectNodes("table/tbody/tr/td[2]").FirstOrDefault().InnerHtml; city.Weather.Temp = td.SelectNodes("table/tbody/tr/td[2]/span").FirstOrDefault().InnerHtml; } catch { city.Weather.Condition = "Thoi tiet dang cap nhat..."; } begin = false; continue; } info.Image = IMAGE + td.SelectNodes("div/img").FirstOrDefault().Attributes["src"].Value; info.Condition = td.SelectNodes("div[2]/span[2]").FirstOrDefault().InnerText; info.Temp = td.SelectNodes("div[2]/span").FirstOrDefault().InnerHtml; if (index == 0) { info.Date = currentDate; } else if (index == 1) { info.Date = tomorow; } else if (index == 2) { info.Date = nextTomorow; } city.Add(info); index++; } list.Add(city); } return(list); }