ЯЗЫК: C#
У меня приходит в ответ вот такой запрос:
Код:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<result>0</result>
<money>2555</money>
<!-- no data in 'ourpeople' -->
<!-- no data in 'allpeople' -->
<!-- no data in 'ourprofit' -->
<!-- no data in 'modelsindemo' -->
<!-- no data in 'friends_invited' -->
<!-- no data in 'ideascount' -->
</data>
То что стоит между <money>*</money> - мне нужно оттуда выдернуть, как это можно сделать, ведь количество у всех разное...
С этим кодом не получается, потому что число может быть больше или меньше
Код:
str=str.Substring(3,5);
Помогите, кому не сложно...
И еще несколько вопросов:
1. Как можно сделать чтобы через некоторое время (15 минут) выполнялось нажатие на кнопку или отправка нужного запроса?
2. Как сделать несколько запросов после нажатия на кнопку?
3. Также как можно сделать чтобы с одного ответа, несколько значений растолкать по label'ам?, получается только 1.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
Последний раз редактировалось XRASER; 25.03.2011 в 08:49.
парсировать значение нужно!
только я не понял как(((
________________
ПОМОГ? ПОСТАВЬ "СПАСИБО"! Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Regex rex = new Regex(@"[^0-9]{1,}");
string str = "<money>44534543</money>";
string[] mass = rex.Split(str);
string result = mass[1]; // тут и будет 44534543
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Regex rex = new Regex(@"[^0-9]{1,}");
string str = "<money>44534543</money>";
string[] mass = rex.Split(str);
string result = mass[1]; // тут и будет 44534543
Непонимаю как сделать, у меня стоит ответ так:
Код:
// Получаем ответ
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Получаем html-код страницы
string html = new StreamReader(response.GetResponseStream(),Encoding.UTF8).ReadToEnd();
MessageBox.Show(html);
что и куда мне дописать, очень надо...
или что почитать, чтобы научиться?
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
Можешь скинуть весь текст ответа который приходит ?
Код:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<result>1</result>
<money>2380</money>
<!-- no data in 'ourpeople' -->
<!-- no data in 'allpeople' -->
<!-- no data in 'ourprofit' -->
<!-- no data in 'modelsindemo' -->
<!-- no data in 'friends_invited' -->
<!-- no data in 'ideascount' -->
</data>
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
Если ответ будет иметь именно такую структуру, как ты указал то
Regex rex = new Regex(@"[^0-9]{1,}");
string html = new StreamReader(response.GetResponseStream(),Encoding .UTF8).ReadToEnd();
string[] mass = rex.Split(html);
string result = mass[5]; // именно этот элемент массива будет содержать твое число
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Если ответ будет иметь именно такую структуру, как ты указал то
Regex rex = new Regex(@"[^0-9]{1,}");
string html = new StreamReader(response.GetResponseStream(),Encoding .UTF8).ReadToEnd();
string[] mass = rex.Split(html);
string result = mass[5]; // именно этот элемент массива будет содержать твое число
Получается вот так:
Код:
// Получаем ответ
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
// Получаем html-код страницы
Regex rex = new Regex(@"[^0-9]{1,}");
string html = new StreamReader(response.GetResponseStream(), Encoding.UTF8).ReadToEnd();
string[] mass = rex.Split(html);
string result = mass[5]; // именно этот элемент массива будет содержать твое число
string html = new StreamReader(response.GetResponseStream(),Encoding.UTF8).ReadToEnd();
MessageBox.Show(html);
и вылазит 3 ошибки...
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
ёпт, ну во-первых объявлять string html 2 раза как-то не очень разумно, а во-вторых нужно подключить using System.Text.Regularexpressions;
и самое главное если возникают ошибки то нужно говорить что за ошибки хотя тут и так все понятно.
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
ёпт, ну во-первых объявлять string html 2 раза как-то не очень разумно, а во-вторых нужно подключить using System.Text.Regularexpressions;
и самое главное если возникают ошибки то нужно говорить что за ошибки хотя тут и так все понятно.
Урааа! Получилось с таким кодом в ответе:
Код:
// Получаем html-код страницы
Regex rex = new Regex(@"[^0-9]{1,}");
string html = new StreamReader(response.GetResponseStream(), Encoding.UTF8).ReadToEnd();
string[] mass = rex.Split(html);
string result = mass[5]; // именно этот элемент массива будет содержать твое число
MessageBox.Show(mass[5]);
CaptainAmerica, спс, а где можно этому научиться, чтобы я остальные сам сделал?
Добавлено через 3 минуты
И можно сделать так, чтобы с 1 запроса несколько значений на label'ы распихать?
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
Последний раз редактировалось XRASER; 26.03.2011 в 20:01.
Причина: Добавлено сообщение
CaptainAmerica, спс, а где можно этому научиться, чтобы я остальные сам сделал?
Книги и тематические форумы, особенно иностранные. к тому же справочная система от майкрософт на данном уровне тоже отлично подойдет.
Цитата:
Сообщение от XRASER
И можно сделать так, чтобы с 1 запроса несколько значений на label'ы распихать?
Можно, только нужно посмотреть как выглядит результат этого запроса или это тот же самый:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<result>1</result>
<money>2380</money>
<!-- no data in 'ourpeople' -->
<!-- no data in 'allpeople' -->
<!-- no data in 'ourprofit' -->
<!-- no data in 'modelsindemo' -->
<!-- no data in 'friends_invited' -->
<!-- no data in 'ideascount' -->
</data>
?
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Последний раз редактировалось CaptainAmerica; 26.03.2011 в 20:08.
Encoding enc = Encoding.GetEncoding(1251); так как есть символы русского алфавита, то возможно понадобится использование такой кодировки (но не факт)
Код:
string inputt = ""; //к примеру твоя строка, полученная из запроса с сайта
string[] mass = inputt.Split('"');
string result_clan="", result_exp="", result_money="";
for (int i = 0; i < mass.Length; i++) //так как мы разбивали текст по символу " то
{ //и искать то что нам нужно будем в
if (mass[i] == "name") // "промежутках"
result_clan = mass[i + 2];
if(mass[i]=="exp")
result_exp = mass[i + 2];
if (mass[i] == "money")
result_money = mass[i + 2];
}
________________
[Ссылки могут видеть только зарегистрированные пользователи. ]
[Ссылки могут видеть только зарегистрированные пользователи. ]
Encoding enc = Encoding.GetEncoding(1251); так как есть символы русского алфавита, то возможно понадобится использование такой кодировки (но не факт)
Код:
string inputt = ""; //к примеру твоя строка, полученная из запроса с сайта
string[] mass = inputt.Split('"');
string result_clan="", result_exp="", result_money="";
for (int i = 0; i < mass.Length; i++) //так как мы разбивали текст по символу " то
{ //и искать то что нам нужно будем в
if (mass[i] == "name") // "промежутках"
result_clan = mass[i + 2];
if(mass[i]=="exp")
result_exp = mass[i + 2];
if (mass[i] == "money")
result_money = mass[i + 2];
}
string inputt = ""; - Непонимаю что здесь нужно написать, что пишу, то и в ответ получается, и что ставить на label?
label.Text = "Что сюда?";
Уже не надо, я по другому сделал...
________________
[Ссылки могут видеть только зарегистрированные пользователи. ] - сообщество серверов MineCraft.
RPG, Survival, Hi-Tech сервера. 24\7. Без лагов.
Последний раз редактировалось XRASER; 29.03.2011 в 12:44.