public ItemDish MenuXmlToList(XElement doc)
 {
     //ПАПКИ с блюдами на тесте 62 папки
     var rootMenu = doc.Elements("ButtonName").Elements("ItemName").Elements("Наименование");
     //Добавляем папки и детей
     foreach (var p in rootMenu)
     {
         var item = new ItemDish
         {
             Price = "This folder!",
             IdFather = "This folder!",
             Name = p.Value,
             Id = ((XElement)p.PreviousNode).Value
         };
         Menu.Children.Add(item);
         GetChildren(((XElement)p).Value, doc);
     }
     return Menu;
 }
        //Добавляет РОДИТЕЛЕЙ, id не добавляется
        protected void AddMenuCardXml(IEnumerable<XElement> list)
        {
            try
            {
                foreach (var p in list)
                {
                    var node = new ItemDish
                    {
                        Id = ((XElement)p.PreviousNode).Value,
                        Name = p.Value,
                        IdFather = "This folder!",
                        Marker = "ITEMNAME"
                    };
                    Menu.Children.Add(node);
                    GetChildren(node.Id, ComReader.BufferMenu);
                }
            }
            catch (Exception)
            {

            }
        }
 public MenuXml()
 {
     CurrentNode = new Stack<List<Item>>();
     Menu = new ItemDish();
 }
 private void AddDishToList(IEnumerable<XElement> elements)
 {
     foreach (var p in elements)
     {
         if (p.Parent == null) continue;
         var singleDish = new ItemDish
                          {
                              Id = ((XElement)p.PreviousNode.PreviousNode).Value,
                              Name = p.Value,
                              Price = ((XElement)p.PreviousNode).Value,
                              IdFather = p.Parent.Descendants("IdItemName").First().Value,
                              Marker = "ITEMCHILDREN"
                          };
         var pointer = GetElementAt(p, "Modifikators"); //Указатель на Modifikators
         try
         {
             while (p.Parent.Elements().ElementAt(pointer).Name == "Modifikators")
             {
                 singleDish.Modifikators.Add(p.Parent.Elements().ElementAt(pointer).Attributes("МодификаторИД").First().Value,
                     new ModificatorAttribute(){
                         Name = p.Parent.Elements().ElementAt(pointer).Attributes("Модификатор").First().Value,
                         Required = p.Parent.Elements().ElementAt(pointer).Attributes("Обязательный").First().Value,
                         Id = p.Parent.Elements().ElementAt(pointer).Attributes("МодификаторИД").First().Value
                     });
                 pointer++;
             }
         }
         catch (Exception)
         {
         }
         Menu.Children.Add(singleDish);
     }
 }