.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; }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д