.NET 4.x Парсинг данных с использованием инъекций - C#
Формулировка задачи:
Всем привет!
В учебных целях мне поставлена задача: по нажатию кнопки в оконном приложении, оно должно зайти на сайт ЦБР и обновить данные о ценах на драгоценные металлы.
Ссылка на страничку: http://cbr.ru/hd_base/?PrtId=metall_base_new
На данной страничке необходимо произвести инъекцию input'а начальной (02.07.2008) и конечной (текущий день, на момент обновления) даты, а затем полученные данные загрузить в локальную базу данных.
Пожалуйста, скиньте какие-нибудь мануалы (желательно с примерами) по данной теме. Заранее благодарен за помощь!
Решение задачи: «.NET 4.x Парсинг данных с использованием инъекций»
textual
Листинг программы
using System; using System.IO; using System.Net; using System.Xml.Serialization; using System.Collections.Generic; namespace GetPreciousMetals { class Program { static void Main(string[] args) { Console.WriteLine("Пример получения динамики котировок драгоценных металлов:"); using (StreamWriter sw = new StreamWriter(@"C:\root.xml")) sw.WriteLine(getXMLFile("http://cbr.ru/scripts/xml_metall.asp", "01.04.2017", "07.04.2017")); using (StreamReader sr = new StreamReader(@"C:\root.xml")) { XmlSerializer xml = new XmlSerializer(typeof(Metall)); var root = (Metall)xml.Deserialize(sr); Console.WriteLine("\nДата\t\tЗолото\t\tСеребро\t\tПлатина\t\tПалладий"); for (int i = 0; i < root.Record.Count; i+=4) { Console.WriteLine(root.Record[i].Date + "\t" + root.Record[i].Buy+"\t\t"+root.Record[i+1].Buy+"\t\t" + root.Record[i + 2].Buy+"\t\t" + root.Record[i + 3].Buy); } } Console.ReadKey(true); } static string getXMLFile(string url, string date_req1, string date_req2) { WebClient webClient = new WebClient(); return webClient.DownloadString(url + "?date_req1=" + date_req1 + "&date_req2=" + date_req2); } } [XmlRoot(ElementName = "Record")] public class Record { [XmlElement(ElementName = "Buy")] public string Buy { get; set; } [XmlElement(ElementName = "Sell")] public string Sell { get; set; } [XmlAttribute(AttributeName = "Date")] public string Date { get; set; } [XmlAttribute(AttributeName = "Code")] public string Code { get; set; } } [XmlRoot(ElementName = "Metall")] public class Metall { [XmlElement(ElementName = "Record")] public List<Record> Record { get; set; } [XmlAttribute(AttributeName = "FromDate")] public string FromDate { get; set; } [XmlAttribute(AttributeName = "ToDate")] public string ToDate { get; set; } [XmlAttribute(AttributeName = "name")] public string Name { get; set; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д