|
Как вывести из кода число, если оно постоянно меняется? - Вопросы и ответы, обсуждения - Ваши вопросы по C# только в данном разделе |
23.04.2012, 15:42
|
#1
|
|
|
|
Разведчик
|
Регистрация: 19.01.2012
Сообщений: 4
Популярность: 16
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 1 сообщении
|
Как вывести из кода число, если оно постоянно меняется?
Всем привет, вот заинтересовался таким вопросом.
Как вывести из кода число, если оно постоянно меняется?
|
Цитата: |
|
|
|
|
|
|
|
|
<friends_rating>
<friend>
<uid>7505627</uid>
<damage>43227</damage>
</friend>
<friend>
<uid>10437098</uid>
<damage>8092</damage>
</friend>
<friend>
<uid>13755553</uid>
<damage>7660</damage>
</friend>
<friend>
<uid>8278921</uid>
<damage>5371</damage>
</friend>
<friend>
<uid>932019</uid>
<damage>5005</damage>
</friend>
<friend>
<uid>2805284</uid>
<damage>3387</damage>
</friend>
<friend>
<uid>1782825</uid>
<damage>1223</damage>
</friend>
<friend>
<uid>9816639</uid>
<damage>1100</damage>
</friend>
</friends_rating> |
|
|
|
|
|
Думая вы поняли о чем я
Мне из каждых объектов "friend", надо вывести uid и damage в label (каждый)
|
|
|
25.04.2012, 22:00
|
#2
|
|
|
|
Рыцарь-защитник
|
Регистрация: 28.08.2009
Сообщений: 603
Популярность: 19129
Золото Zhyk.Ru: 500
Сказал(а) спасибо: 84
Поблагодарили 602 раз(а) в 321 сообщениях
|
Re: Как вывести из кода число, если оно постоянно меняется?
Код:
string[] Text; //Это твой ответ от сервера
for (int i = 0;i < Text.Length; i++)
{
if (Text[i].IndexOf("<friend>")!=-1)
{
richTextBox1.AppendText(String.Format("UID: {0};damage: {1}", Text[i+1].Split(new char[]{'<','>'})[2],Text[i+2].Split(new char[]{'<','>'})[2]);
}
}
________________
We are Ducks. We are birds. We like bread. We cryack. Cryack.
|
|
|
26.04.2012, 00:56
|
#3
|
|
|
|
Старший сержант
|
Регистрация: 31.01.2011
Сообщений: 182
Популярность: 887
Золото Zhyk.Ru: 100
Сказал(а) спасибо: 136
Поблагодарили 494 раз(а) в 220 сообщениях
|
Re: Как вывести из кода число, если оно постоянно меняется?
Это же последние события в тюряге? Сам делал когда то
Код:
//функция парсинга
public string parse(string all, string l, string r, string razd)
{
string res = "";
Regex g5 = new Regex(l + "(.*?)" + r);
if (g5.IsMatch(all))
{
MatchCollection matches = g5.Matches(all);
foreach (Match y in matches) { res += y.Groups[1].ToString() + razd; }
}
return res;
}
string send = "ответ от сервера";
string[] uid = parse(send, "<uid>", "</uid>", ",").Split(',');
string[] damage = parse(send, "<damage>", "</damage>", ",").Split(',');
for (int i = 0; i < uid.Length; i++)
label1.Text += uid[i] + " - " + damage[i] + "\n";
Только думаю лучше вместо лейбла рич использовать.
|
|
|
01.05.2012, 16:35
|
#4
|
|
|
|
Разведчик
|
Регистрация: 19.01.2012
Сообщений: 4
Популярность: 16
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 1 сообщении
|
Re: Как вывести из кода число, если оно постоянно меняется?
Gamer1912, Выводит весь список
а надо только friends_rating!
Последний раз редактировалось vova1234561; 01.05.2012 в 17:15.
|
|
|
09.05.2012, 16:02
|
#5
|
|
|
|
Разведчик
|
Регистрация: 19.01.2012
Сообщений: 4
Популярность: 16
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 1 сообщении
|
Re: Как вывести из кода число, если оно постоянно меняется?
апс
|
|
|
10.05.2012, 11:31
|
#7
|
|
|
|
Разведчик
|
Регистрация: 19.01.2012
Сообщений: 4
Популярность: 16
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 1 сообщении
|
Re: Как вывести из кода число, если оно постоянно меняется?
Gamer1912,
|
Цитата: |
|
|
|
|
|
|
|
|
string[] Text = text.Split('\n');
for (int i = 0; i < Text.Length; i++)
{
if (Text[i].IndexOf("<friends_rating>") != -1)
{
string[] uid = parse(text, "<uid>", "</uid>", ",").Split(',');
string[] damage = parse(text, "<damage>", "</damage>", ",").Split(',');
for (int l = 0; l < Text.Length; l++)
richTextBox1.Text += uid[l] + "-" + damage[l] + "\n";
}
} |
|
|
|
|
|
В чем проблема?
|
|
|
10.05.2012, 14:18
|
#8
|
|
|
|
Сержант
|
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: Как вывести из кода число, если оно постоянно меняется?
Трындец, думал не буду отвечать в этой теме, но когда увидел, что вы ПАРСИТЕ(!!!) XML документ, я... я просто... в общем нет слов.
Код:
XmlDocument doc = new XmlDocument();
doc.LoadXml(
@"<friends_rating>
<friend>
<uid>7505627</uid>
<damage>43227</damage>
</friend>
<friend>
<uid>10437098</uid>
<damage>8092</damage>
</friend>
<friend>
<uid>13755553</uid>
<damage>7660</damage>
</friend>
<friend>
<uid>8278921</uid>
<damage>5371</damage>
</friend>
<friend>
<uid>932019</uid>
<damage>5005</damage>
</friend>
<friend>
<uid>2805284</uid>
<damage>3387</damage>
</friend>
<friend>
<uid>1782825</uid>
<damage>1223</damage>
</friend>
<friend>
<uid>9816639</uid>
<damage>1100</damage>
</friend>
</friends_rating> ");
foreach (XmlNode node in doc.SelectNodes("/friends_rating/friend"))
{
listBox1.Items.Add(string.Format("UID: {0}, Damage: {1}", node.SelectSingleNode("uid").InnerText, node.SelectSingleNode("damage").InnerText));
}
________________
Talk is cheap. Show me the code
— Linus Torvalds
|
|
|
Пользователь сказал cпасибо:
|
|
10.05.2012, 17:11
|
#9
|
|
|
|
Разведчик
|
Регистрация: 19.01.2012
Сообщений: 4
Популярность: 16
Сказал(а) спасибо: 0
Поблагодарили 3 раз(а) в 1 сообщении
|
Re: Как вывести из кода число, если оно постоянно меняется?
|
|
|
10.05.2012, 19:05
|
#10
|
|
|
|
Сержант
|
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
|
Re: Как вывести из кода число, если оно постоянно меняется?
XML можно сериализировать, можно через класс XmlDocument прочитать, но что бы парсить, да еще и регулярками, нет извольте, лучше о таком даже и не думать, во имя пресвятых нулей и едениц
________________
Talk is cheap. Show me the code
— Linus Torvalds
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 14:19.
|
|