public void FromXml(XmlNode root) { this.CreatedDate = Convert.ToDateTime(root.Attributes["CreatedDate"].Value); this.Points = Convert.ToInt32(root.Attributes["Points"].Value); this.GameDate = Convert.ToDateTime(root.Attributes["GameDate"].Value); this.NightState = Convert.ToInt32(root.Attributes["NightState"].Value); XmlNode Buildings = root.ChildNodes[0]; foreach (XmlNode item in Buildings.ChildNodes) { ListOfBuildings.Find(a => a.Key == item.Attributes["Key"].Value).FromXml(item); } XmlNode Materials = root.ChildNodes[1]; foreach (XmlNode item in Materials.ChildNodes) { ListOfMaterials.Materials.Find(a => a.Key == item.Attributes["Key"].Value).FromXml(item); } }