private static void LoadSchemesFromNodes(XmlNodeList xmlNodeList) { if (xmlNodeList == null) { return; } foreach (XmlNode schemeNode in xmlNodeList) { Scheme newScheme = new Scheme( schemeNode.GetXMLAttributeValue <int>("Id"), schemeNode.GetXMLAttributeValue <string>("Name") ); foreach (XmlNode ingredientItem in schemeNode.SelectNodes("./Ingredients/Item")) { newScheme.AddIngredient( ingredientItem.GetXMLAttributeValue <int>("Id"), ingredientItem.GetXMLAttributeValue <int>("Quantity")); } foreach (XmlNode outputItem in schemeNode.SelectNodes("./OutputItems/Item")) { newScheme.AddOutputItem( outputItem.GetXMLAttributeValue <int>("Id"), outputItem.GetXMLAttributeValue <int>("Quantity")); } _schemes.Add(newScheme); } }