Запись и считывание массива структур (документ XML) - C#
Формулировка задачи:
Есть задание:
Ресторан содержит список блюд. Создайте массив структур «Блюда», структура содержит идентификационный номер блюда, наименование, количество грамм, стоимость. Добавьте программно 3 записи. Организуйте возможность добавления записи в структуру и вывод данных по запросу.
Вся проблема у меня в том, что я не умею работать с документам XML, я могу реализовать массив структур, но как считывать и записывать в документ XML я не знаю, помогите пожалуйста, буду признателен.
Решение задачи: «Запись и считывание массива структур (документ XML)»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Xml.Serialization;
- class Program
- {
- static void Main()
- {
- List<Dish> menu = new List<Dish>{new Dish { Id = 0, Name = "A", Grams = 5, Price = 100 },
- new Dish { Id = 1, Name = "B", Grams = 6, Price = 200 },
- new Dish { Id = 2, Name = "C", Grams = 3, Price = 150 }};
- // Записали данные в xml (и создали файл заодно)
- string pathToXml = @"D:\data.xml";
- XmlSerializer serializer = new XmlSerializer(typeof(List<Dish>));
- using (StreamWriter sw = new StreamWriter(pathToXml))
- serializer.Serialize(sw, menu);
- // Считали данные из xml
- List<Dish> menu2 = new List<Dish>();
- using (FileStream fs = new FileStream(pathToXml, FileMode.Open))
- menu2 = (List<Dish>)serializer.Deserialize(fs);
- foreach (Dish f in menu2)
- Console.WriteLine("{0} {1} {2} {3}", f.Id, f.Name, f.Price, f.Grams);
- Console.ReadKey();
- }
- }
- [Serializable]
- public struct Dish
- {
- public int Id;
- public string Name;
- public int Grams;
- public int Price;
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д