08-22-2016, 12:17 AM
Awiion Написал:Boris2105,
СмотриBoris2105,
Да не может быть, вот пример рабочий.
Код:[SRC="xml"]<RankData>
<Rank Id="0" Title="Trainee" ToNextLevel="1200" RequiredExp="0">
<Reward Points="10000">
<Items>
<Item>200010051</Item>
<Item>10309410</Item>
<Item>70003008</Item>
<Item>110000408</Item>
</Items>
</Reward>
</Rank>
<Rank Id="1" Title="Private Rank 1" ToNextLevel="2400" RequiredExp="1200">
<Reward Points="10000">
<Items>
<Item>200010051</Item>
<Item>10309410</Item>
<Item>70003008</Item>
<Item>110000408</Item>
</Items>
</Reward>
</Rank>
</RankData>[/SRC]
Код:public class Rank
{
[XmlAttribute]
public uint Id;
[XmlAttribute]
public string Title;
[XmlAttribute]
public uint ToNextLevel;
[XmlAttribute]
public uint RequiredExp;
public RankReward Reward;
[XmlElement("Rank")]
public List<Rank> Ranks;
public class RankReward
{
[XmlAttribute]
public uint Points;
[XmlArrayItem("Item")]
public List<uint> Items;
}
}
Код:public class RankSerializer
{
public static Rank Load()
{
using (var reader = XmlReader.Create("data/Rank.xml"))
{
var serializer = new XmlSerializer(typeof(Rank), new XmlRootAttribute("RankData"));
try
{
var RankObject = (Rank)serializer.Deserialize(reader);
return RankObject;
}
catch (Exception ex)
{
//Логирование
}
}
return null;
}
}
Код:[SRC="csharp"]class Program
{
static void Main(string[] args)
{
var rank = RankSerializer.Load();
foreach (var Rank in rank.Ranks)
{
Console.WriteLine("ID {0}", Rank.Id);
Console.WriteLine("Title {0}", Rank.Title);
Console.WriteLine("RequiredExp {0}", Rank.RequiredExp);
Console.WriteLine("Point {0}", Rank.Reward.Points);
Console.WriteLine("Items {0}", Rank.Reward.Items.Count);
foreach (var Item in Rank.Reward.Items)
{
Console.WriteLine("Item {0}", Item);
}
Console.WriteLine("--------------------");
}
Console.ReadKey();
}
}[/SRC]
И хватит юзать for, зачем они тебе kappa
Научись пользоваться MSD или Google
офф
блин, что у тебя за тебя на винде?)меня дизайн окон доставляет у тебя)