Beispiel #1
0
        static KeyValuePair <Cityes, double> GetTemp(Cityes city)
        {
            string      url      = $"http://informer.gismeteo.by/rss/{(int)city}.xml";
            XmlDocument document = new XmlDocument();

            document.Load(url);
            XmlElement root = document.DocumentElement;
            string     City, temp = null;
            double     avg = 0;

            foreach (XmlNode node in root.SelectNodes(@"/rss/channel/item"))
            {
                City = node.SelectSingleNode("title").InnerText;
                temp = node.SelectSingleNode("description").InnerText;
                Console.WriteLine($"Город: {City}, {temp}");
                Regex regex = new Regex(@"[+-]?\d+..[+-]?\d+\s+С");
                temp = regex.Match(temp).Value;
                Regex regex1 = new Regex(@"\s+С");
                temp = regex1.Replace(temp, "");
                string[] NewTemp = Regex.Split(temp, @"[.]+");
                foreach (string st in NewTemp)
                {
                    avg += Convert.ToDouble(st);
                }
                avg /= NewTemp.Length;
                break;
            }
            return(new KeyValuePair <Cityes, double>(city, avg));
        }
Beispiel #2
0
        static private void FillDbCities(string url)
        {
            CWtrContext db = new CWtrContext();

            CQ dom = new CQ();

            dom = CQ.CreateFromUrl(url);

            CQ CityModuls = dom[".place-list"];

            foreach (var modul in CityModuls)
            {
                CQ Modul = modul.Render();

                CQ cityListCQ = Modul["a"];

                List <Cityes> listCities = new List <Cityes>();

                for (int i = 0; i < cityListCQ.Count(); i++)
                {
                    CQ name = cityListCQ[i].InnerText;
                    Console.WriteLine(name.ToString());
                    Cityes city = new Cityes();
                    city.City = name.ToString();
                    listCities.Add(city);
                }

                db.Cityes.AddRange(listCities);
                db.SaveChanges();
            }
        }