using System; using System.Collections.Generic; using System.Linq; using System.Xml.Linq; using System.Xml.Serialization; using System.IO; using System.Xml; namespace vr21 { public class Recipe { public string Name; public string Description; public List Ingredients; public List Steps; public Recipe() { Ingredients = new List(); Steps = new List(); } } public class Ingredient { public string Name; public int Amount; public string Unit; } class Program { // private static string _xmllocation = @"..\..\..\XMLRecipe.xml"; private static string _xmllocation = @"XMLRecipe.xml"; public static List Recipes = new List(); static void Main(string[] args) { Ingredient kartul = new Ingredient() {Name = "Kartul", Amount = 500, Unit = "g"}; Recipe r = new Recipe() {Name="Supp"}; r.Ingredients.Add(kartul); r.Ingredients.Add(kartul); r.Steps.Add("Koori"); r.Steps.Add("Keeda"); var l = Recipes; l.Add(r); l.Add(r); r = new Recipe() {Name="kala"}; l.Add(r); XmlSerializer x = new XmlSerializer(l.GetType()); using (var fs = new FileStream(_xmllocation, FileMode.Create)) { x.Serialize(fs, l); } //writeReceipesInformation(); readRecipesInformation(); System.Environment.Exit(1); string s; while ((s = Console.ReadLine()) != null) { var arguments = s.Split(' '); var command = arguments[0].Trim(); switch (command.ToLower()) { case "list": Console.WriteLine("Tere"); break; default: Console.WriteLine("No command"); break; } } } static void readRecipesInformation() { var x = new XmlSerializer(typeof(List)); FileStream fs = new FileStream(_xmllocation, FileMode.Open); XmlReader reader = XmlReader.Create(fs); var l = (List)x.Deserialize(reader); foreach (var r in l) { Console.WriteLine(r.Name); } } static void writeReceipesInformation() { XDocument xdoc = XDocument.Load(_xmllocation); var allReceipes = xdoc.Descendants("Recipe"); Console.WriteLine(allReceipes.Count()); foreach (var receipe in allReceipes) { Console.WriteLine(receipe.Element("Name").Value); foreach (var ingredient in receipe.Element("Ingredients").Elements()) { Console.WriteLine($" {ingredient.Element("Name").Value}: {ingredient.Element("Amount").Value}{ingredient.Element("Unit").Value}"); } } } } }