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)); }
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(); } }