.NET 4.x Подскажите способ парсить котировки ЦентроБанка быстрее чем за 10-15 секунд - C#
Формулировка задачи:
Добрый день хотел бы узнать если способ парсить котировки ЦентроБанка быстрее чем за 10-15 секунд, оптимальным было бы 5-10.
Сейчас использую вот такой способ:
Еще интересно узнать отчего зависит время отправки-получения запроса с сервера, иногда результаты я получаю через 5 секунд после нажатия кнопки, а иногда на это уходит все 15.
WebClient wc = new WebClient(); Uri ui = new Uri("http://www.cbr.ru/scripts/XML_daily.asp"); Stream stream = wc.OpenRead(ui); StreamReader streamReader = new StreamReader(stream,Encoding.GetEncoding(1251)); string html = streamReader.ReadToEnd(); string html1; string pattern = @"<Name>Китайских юаней</Name> <Value>(\d{1,}\,\d{2})"; string pattern1 = @"<Name>Доллар США</Name> <Value>(\d{1,}\,\d{2})"; Match match = Regex.Match(html, pattern); Match match1 = Regex.Match(html, pattern1); html = match.ToString().Replace(@"<Name>Китайских юаней</Name> <Value>", ""); html1 = match1.ToString().Replace(@"<Name>Доллар США</Name> <Value>", ""); tb_dollar.Text = html1; tb_yuan.Text = Convert.ToString(Convert.ToDouble(html)/10);
Решение задачи: «.NET 4.x Подскажите способ парсить котировки ЦентроБанка быстрее чем за 10-15 секунд»
textual
Листинг программы
ValCurs valCurs; var request = HttpWebRequest.Create("http://www.cbr.ru/scripts/XML_daily.asp"); using (var response = request.GetResponse()) { using (var sr = new StreamReader(response.GetResponseStream(), Encoding.GetEncoding(1251))) { var ser = new XmlSerializer(typeof(ValCurs)); valCurs = ser.Deserialize(sr) as ValCurs; } } Console.WriteLine("Date: {0}", valCurs.Date); Console.WriteLine("Name: {0}", valCurs.Name); foreach (var val in valCurs.Valutes) { Console.WriteLine("ID: {0,10}", val.ID); Console.WriteLine("Name: {0,10}", val.Name); Console.WriteLine("Char code: {0,10}", val.CharCode); Console.WriteLine("Num code: {0,10}", val.NumCode); Console.WriteLine("Nominal: {0,10}", val.Nominal); Console.WriteLine("Value: {0,10}", val.Value); Console.WriteLine(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д