.NET 4.x Парсинг данных с использованием инъекций - C#

Узнай цену своей работы

Формулировка задачи:

Всем привет! В учебных целях мне поставлена задача: по нажатию кнопки в оконном приложении, оно должно зайти на сайт ЦБР и обновить данные о ценах на драгоценные металлы. Ссылка на страничку: http://cbr.ru/hd_base/?PrtId=metall_base_new На данной страничке необходимо произвести инъекцию input'а начальной (02.07.2008) и конечной (текущий день, на момент обновления) даты, а затем полученные данные загрузить в локальную базу данных. Пожалуйста, скиньте какие-нибудь мануалы (желательно с примерами) по данной теме. Заранее благодарен за помощь!

Решение задачи: «.NET 4.x Парсинг данных с использованием инъекций»

textual
Листинг программы
  1. using System;
  2. using System.IO;
  3. using System.Net;
  4. using System.Xml.Serialization;
  5. using System.Collections.Generic;
  6.  
  7. namespace GetPreciousMetals
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             Console.WriteLine("Пример получения динамики котировок драгоценных металлов:");
  14.             using (StreamWriter sw = new StreamWriter(@"C:\root.xml"))
  15.                 sw.WriteLine(getXMLFile("http://cbr.ru/scripts/xml_metall.asp", "01.04.2017", "07.04.2017"));
  16.             using (StreamReader sr = new StreamReader(@"C:\root.xml"))
  17.             {
  18.                 XmlSerializer xml = new XmlSerializer(typeof(Metall));
  19.                 var root = (Metall)xml.Deserialize(sr);
  20.                 Console.WriteLine("\nДата\t\tЗолото\t\tСеребро\t\tПлатина\t\tПалладий");
  21.                 for (int i = 0; i < root.Record.Count; i+=4)
  22.                 {
  23.                     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);
  24.                 }
  25.             }
  26.             Console.ReadKey(true);
  27.         }
  28.         static string getXMLFile(string url, string date_req1, string date_req2)
  29.         {
  30.             WebClient webClient = new WebClient();
  31.             return webClient.DownloadString(url + "?date_req1=" + date_req1 + "&date_req2=" + date_req2);
  32.         }
  33.     }
  34.     [XmlRoot(ElementName = "Record")]
  35.     public class Record
  36.     {
  37.         [XmlElement(ElementName = "Buy")]
  38.         public string Buy { get; set; }
  39.         [XmlElement(ElementName = "Sell")]
  40.         public string Sell { get; set; }
  41.         [XmlAttribute(AttributeName = "Date")]
  42.         public string Date { get; set; }
  43.         [XmlAttribute(AttributeName = "Code")]
  44.         public string Code { get; set; }
  45.     }
  46.     [XmlRoot(ElementName = "Metall")]
  47.     public class Metall
  48.     {
  49.         [XmlElement(ElementName = "Record")]
  50.         public List<Record> Record { get; set; }
  51.         [XmlAttribute(AttributeName = "FromDate")]
  52.         public string FromDate { get; set; }
  53.         [XmlAttribute(AttributeName = "ToDate")]
  54.         public string ToDate { get; set; }
  55.         [XmlAttribute(AttributeName = "name")]
  56.         public string Name { get; set; }
  57.     }
  58. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы