Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 29.04.2016
Сообщений: 53
1

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

15.01.2017, 23:56. Показов 2762. Ответов 2
Метки нет (Все метки)

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

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2017, 23:56
Ответы с готовыми решениями:

Запись массива структур в бинарный файл и считывание его
Есть такая структура: struct table { public string name; public string...

Считывание координат из XML в массив и запись в ячейки
Вот такая задача у меня в массиве есть данные координат. По циклу я их использую в методе. Нужно в...

Запись массива в текстовый документ
Дан массив строк string stings = { "Hello", "world", "1234" }; Как записать его в текстовый...

Как добавить узел в документ XML не загружая в память весь документ
Вот собственно вопрос сейчас использую XDocument. То есть формирую узел XElement, добавляю его в...

2
307 / 307 / 215
Регистрация: 24.09.2013
Сообщений: 771
16.01.2017, 15:33 2
Лучший ответ Сообщение было отмечено Rakingod как решение

Решение

Rakingod, один из вариантов - с помощью сериализации/десериализации.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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;
}
Цитата Сообщение от Rakingod Посмотреть сообщение
Организуйте возможность добавления записи в структуру и вывод данных по запросу.
Это сделаете сами, я думаю.
2
0 / 0 / 0
Регистрация: 29.04.2016
Сообщений: 53
16.01.2017, 23:22  [ТС] 3
Pikemaster, Спасибо большое) дальше уже допишу.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.01.2017, 23:22

Запись массива объектов в файл и считывание
Есть курсовая, в ней совершенно другие задания, и классы -- это я для примера написал. Ибо...

Запись, считывание и изменения заданого елемента двухмерного массива
Ребята, помогите пожалуста! :) надо считать с файла двухмерный массив, изменить в нем выборочно...

Запись массива в XML
Здравствуйте! Подскажите пожалуйста, как можно записать двумерный массив в XML файле, чтобы его...

Считывание, Сортировка и Запись массива в текстовый документ
Доброго времени суток! Очень прошу, напишите пожалуйста код программы, которая считывает уже...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.