Example #1
0
 public City()
 {
     Weather  = new WeatherInfo();
     Weathers = new List <WeatherInfo>();
 }
Example #2
0
 public void Add(WeatherInfo wt)
 {
     Weathers.Add(wt);
 }
Example #3
0
        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);
        }