58 lines
1.7 KiB
C#
58 lines
1.7 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Xml.Linq;
|
|
using System.Xml.Serialization;
|
|
|
|
namespace vr21
|
|
{
|
|
public class Receipe
|
|
{
|
|
public string Name;
|
|
public List<Ingredient> Ingredients;
|
|
|
|
public Receipe()
|
|
{
|
|
Ingredients = new List<Ingredient>();
|
|
}
|
|
}
|
|
|
|
public class Ingredient
|
|
{
|
|
public string Name;
|
|
public int Count;
|
|
public string Unit;
|
|
}
|
|
class Program
|
|
{
|
|
private static string _xmllocation = @"..\..\..\XMLRecipe.xml";
|
|
static void Main(string[] args)
|
|
{
|
|
Ingredient kartul = new Ingredient() {Name = "Kartul", Count = 500, Unit = "g"};
|
|
Receipe r = new Receipe() {Name="Supp"};
|
|
r.Ingredients.Add(kartul);
|
|
r.Ingredients.Add(kartul);
|
|
List<Receipe> l = new List<Receipe>();
|
|
l.Add(r);
|
|
l.Add(r);
|
|
XmlSerializer x = new XmlSerializer(l.GetType());
|
|
x.Serialize(Console.Out, l);
|
|
//writeReceipesInformation();
|
|
Console.ReadKey();
|
|
}
|
|
|
|
static void writeReceipesInformation()
|
|
{
|
|
XDocument xdoc = XDocument.Load(_xmllocation);
|
|
var allReceipes = xdoc.Descendants("Recipe");
|
|
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}");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|