Запись и считывание массива структур (документ XML) - C#

Узнай цену своей работы

Формулировка задачи:

Есть задание: Ресторан содержит список блюд. Создайте массив структур «Блюда», структура содержит идентификационный номер блюда, наименование, количество грамм, стоимость. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу. Вся проблема у меня в том, что я не умею работать с документам XML, я могу реализовать массив структур, но как считывать и записывать в документ XML я не знаю, помогите пожалуйста, буду признателен.

Решение задачи: «Запись и считывание массива структур (документ XML)»

textual
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Xml.Serialization;
  5.  
  6. class Program
  7. {
  8.     static void Main()
  9.     {
  10.         List<Dish> menu = new List<Dish>{new Dish { Id = 0, Name = "A", Grams = 5, Price = 100 },
  11.                                                new Dish { Id = 1, Name = "B", Grams = 6, Price = 200 },
  12.                                                new Dish { Id = 2, Name = "C", Grams = 3, Price = 150 }};
  13.  
  14.         // Записали данные в xml (и создали файл заодно)
  15.         string pathToXml = @"D:\data.xml";
  16.         XmlSerializer serializer = new XmlSerializer(typeof(List<Dish>));
  17.         using (StreamWriter sw = new StreamWriter(pathToXml))
  18.             serializer.Serialize(sw, menu);
  19.  
  20.         // Считали данные из xml
  21.         List<Dish> menu2 = new List<Dish>();
  22.         using (FileStream fs = new FileStream(pathToXml, FileMode.Open))
  23.             menu2 = (List<Dish>)serializer.Deserialize(fs);
  24.  
  25.         foreach (Dish f in menu2)
  26.             Console.WriteLine("{0} {1} {2} {3}", f.Id, f.Name, f.Price, f.Grams);
  27.  
  28.         Console.ReadKey();
  29.     }
  30. }
  31.  
  32. [Serializable]
  33. public struct Dish
  34. {
  35.     public int Id;
  36.     public string Name;
  37.     public int Grams;
  38.     public int Price;
  39. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут