public static Dictionary<String, Brute> Read() { Dictionary<String, Brute> brutes = new Dictionary<String, Brute>(); Console.WriteLine(File.Exists("Users.xml")); if(File.Exists("Users.xml")) { XmlTextReader xml = new XmlTextReader("Users.xml"); while (xml.Read()) { if (xml.Name.Equals("Brute") && (xml.NodeType == XmlNodeType.Element)) { xml.Read(); String name = xml.ReadElementString("Name"); short level = Convert.ToInt16(xml.ReadElementString("Level")); short life = Convert.ToInt16(xml.ReadElementString("Life")); short strength = Convert.ToInt16(xml.ReadElementString("Strength")); short agility = Convert.ToInt16(xml.ReadElementString("Agility")); short speed = Convert.ToInt16(xml.ReadElementString("Speed")); int image = Convert.ToInt32(xml.ReadElementString("Image")); Brute brute = new Brute(name, level, life, strength, agility, speed, image); if(xml.Name.Equals("BonusList") && (xml.NodeType == XmlNodeType.Element)) { XmlReader inner = xml.ReadSubtree(); while (inner.Read()) { if (inner.Name.Equals("Bonus") && (xml.NodeType == XmlNodeType.Element)) { xml.Read(); name = xml.ReadElementString("Name"); life = Convert.ToInt16(xml.ReadElementString("Life")); strength = Convert.ToInt16(xml.ReadElementString("Strength")); agility = Convert.ToInt16(xml.ReadElementString("Agility")); speed = Convert.ToInt16(xml.ReadElementString("Speed")); image = Convert.ToInt32(xml.ReadElementString("Image")); brute.BonusList.Add(new Bonus(name, life, strength, agility, speed, image)); } } inner.Close(); Console.WriteLine(brute.ToString()); } brutes.Add(brute.Name, brute); } } xml.Close(); } return brutes; }