Парсинг через WebClient - C#

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

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

Мне нужно парсить эту страницу http://ratings.tankionline.com/get_stat/profile/?user=MyLove_MySecret Вот так я достаю значение kills (также deaths, и т.д.):
Листинг программы
  1. "kills":15151,
Листинг программы
  1. WebClient client = new WebClient();
  2. var myRaiting = new WebClient().DownloadString(
  3. string.Format("http://ratings.tankionline.com/get_stat/profile/?user={0}", Login.Text.ToLower()));
  4. ...
  5. Kill.Text = (myRaiting.Split(new[] { "kills":" }, StringSplitOptions.None)[1].Split(',')[0]);
Но мне еще нужно парсить это:
Листинг программы
  1. "rating":{"score":{"position":74194,"value":986},
Отсюда мне надо достать значение position и value в отдельные переменные

Решение задачи: «Парсинг через WebClient»

textual
Листинг программы
  1.         static void Main(string[] args)
  2.         {
  3.             string json = @"""rating"":{""score"":{""position"":74194,""value"":986},";
  4.             /* Моя ф-ция парсинга */
  5.             string position = PARS.GetPars(json, @"position"":", @",");
  6.             string value = PARS.GetPars(json, @"value"":", "}");
  7.             Console.WriteLine("MY STRUCTURE - POSITION: " + position + " VALUE: " + value);
  8.             /* Ф-ция Split */
  9.             position = json.Split(':')[3].Split(',')[0];
  10.             value = json.Split(':')[4].Split('}')[0];
  11.             Console.WriteLine("USE SPLIT - POSITION: " + position + " VALUE: " + value);
  12.             Console.ReadLine();
  13.         }
  14.  
  15.         struct PARS
  16.         {
  17.             public static string GetPars(string strSource, string strStart, string strEnd, int Index = 0, int startPos = 0)
  18.             {
  19.                 int iPos = 0;
  20.                 int iEnd = 0;
  21.                 int lenStart = strStart.Length;
  22.                 string strResult = null;
  23.                 strResult = string.Empty;
  24.                 for (int i = 0; i <= Index - 1; i += 1)
  25.                 {
  26.                     iPos = strSource.IndexOf(strStart, startPos);
  27.                     iEnd = strSource.IndexOf(strEnd, iPos + lenStart);
  28.                     iEnd = iEnd + strEnd.Length;
  29.                     if (iPos != -1 && iEnd != -1)
  30.                     {
  31.                         strSource = strSource.Substring(iEnd, strSource.Length - (0 + iEnd));
  32.                     }
  33.                     else {
  34.                         break;
  35.                     }
  36.                 }
  37.                 iPos = strSource.IndexOf(strStart, startPos);
  38.                 iEnd = strSource.IndexOf(strEnd, iPos + lenStart);
  39.                 if (iPos != -1 && iEnd != -1)
  40.                 {
  41.                     strResult = strSource.Substring(iPos + lenStart, iEnd - (iPos + lenStart));
  42.                 }
  43.                 return strResult;
  44.             }
  45.  
  46.             public static int Count(string strSource, string strStart, string strEnd, int startPos = 0)
  47.             {
  48.                 int iPos = 0;
  49.                 int iEnd = 0;
  50.                 int lenStart = strStart.Length;
  51.                 int IntResult = 0;
  52.                 bool BooL = false;
  53.                 while (BooL == false)
  54.                 {
  55.                     iPos = strSource.IndexOf(strStart, startPos);
  56.                     iEnd = strSource.IndexOf(strEnd, iPos + lenStart);
  57.                     if (iPos != -1 && iEnd != -1)
  58.                     {
  59.                         IntResult = IntResult + 1;
  60.                         startPos = iEnd + 1;
  61.                     }
  62.                     else {
  63.                         BooL = true;
  64.                     }
  65.                 }
  66.                 return IntResult;
  67.             }
  68.  
  69.         }

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


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

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

7   голосов , оценка 3.714 из 5

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

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

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