Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.84/64: Рейтинг темы: голосов - 64, средняя оценка - 4.84
 Аватар для UseMuse
154 / 154 / 60
Регистрация: 11.01.2016
Сообщений: 1,329

Как сериализовать список объектов xml?

18.09.2016, 17:55. Показов 13125. Ответов 26

Студворк — интернет-сервис помощи студентам
Здравствуйте.
Имеем список объектов
C#
1
List<Data> SomeDate;
класса
C#
1
Data
C#
1
2
3
4
5
6
public class Data
{
    public string Name { get; set; }
    public string UserId { get; set; }
    public string Hours { get; set; }
}
Как сериализовать красиво и удобно сразу весь список?

Добавлено через 50 минут
нереальная задача)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.09.2016, 17:55
Ответы с готовыми решениями:

Как сериализовать и десериализовать xml файл
Как сериализовать и десериализовать такой файл. Будет считвааться файл, в котором будет изменено какое либо значение, и файл перезапишется....

Как сериализовать список друзей ?
Добрый день. Ковыряю VkNet. В данный момент мне нужно: сохранить список друзей на диск, а при следующем открытии приложения загрузить...

Как сериализовать/десериализовать одновременно список, элемент своего класса и переменную?
Здравствуйте! В моей программе есть примерно следующие переменные public List&lt;MyElement&gt; Structure= new...

26
 Аватар для UseMuse
154 / 154 / 60
Регистрация: 11.01.2016
Сообщений: 1,329
18.09.2016, 20:28  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от insite2012 Посмотреть сообщение
xml не валидный
в чем определяется валидность/не валидность xml?
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
18.09.2016, 20:37
Цитата Сообщение от UseMuse Посмотреть сообщение
в чем определяется валидность/не валидность xml?
Тут посмотрите.

Добавлено через 4 минуты
Да, я был прав. Запятые помечаются как ошибки. Если их убрать-документ валидный.
0
 Аватар для UseMuse
154 / 154 / 60
Регистрация: 11.01.2016
Сообщений: 1,329
18.09.2016, 20:40  [ТС]
insite2012, пардон, их действительно не должно быть, остаётся вопрос, как такого вида xml сериализовать и десериализовать.
Вы меня очень выручите и съэкономите моё время, продемонстрируя это.
0
Эксперт .NET
 Аватар для insite2012
5548 / 4311 / 1218
Регистрация: 12.10.2013
Сообщений: 12,371
Записей в блоге: 2
18.09.2016, 20:57
Цитата Сообщение от UseMuse Посмотреть сообщение
как такого вида xml сериализовать и десериализовать.
Для начала нужно написать то, во что их надо будет десериализовать.
Пример есть тут и тут.
1
 Аватар для UseMuse
154 / 154 / 60
Регистрация: 11.01.2016
Сообщений: 1,329
18.09.2016, 21:05  [ТС]
insite2012,
у меня приметивная сериализация и такая же десериализация
для примера набросок, хочется научится писать грамотно
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Runtime.Serialization;
using System.Xml.Linq;
 
namespace ConsoleApplication15
{
    class Program
    {
        static string Data = "Data.xml";
 
        static XName header_XName = XName.Get("Header", "http://v8.1c.ru/messages");
        static XName body_XName = XName.Get("Body", "http://v8.1c.ru/messages");
 
        static XName dataEmployers_XName = XName.Get("Пользователи");
        static XName gName_XName = XName.Get("Имя");
      
        static XName PersonnelHistory_XName = XName.Get("История");
        static XName Вылечен_XName = XName.Get("Вылечен");
 
        static string ImportFullFilePath = Path.Combine(@"C:\Users\User\Desktop\Тесты", Data);
 
        static List<DataUser> DataUsers = new List<DataUser>();
 
        static void Main(string[] args)
        {
 
            string importXml = File.ReadAllText(ImportFullFilePath);
 
            if (importXml == null) return;
 
            XDocument import_XDocument = XDocument.Parse(importXml);
 
            XElement importHeader_XElement = import_XDocument.Root.Element(header_XName);
 
            XElement importBody_XElement = import_XDocument.Root.Element(body_XName);
            XElement dataElements_XElement = importBody_XElement.Element(dataEmployers_XName);
 
            if (dataElements_XElement == null)
                return;
            foreach (XElement dataElement_XElement in dataElements_XElement.Elements())
            {
                string name = dataElement_XElement.Attribute(gName_XName).Value;
 
                static List<His> History = new List<His>();
 
                XElement subDataElements_XElement = dataElement_XElement.Element(PersonnelHistory_XName);
 
                int Count = subDataElements_XElement.Elements().Count();
 
                for (int i = 0; i < Count; i++)
                {
                    bool вылечен = subDataElements_XElement.Elements().ElementAt(i).Attribute(Вылечен_XName).Value == "Да";
                    History.Add(new His(
                           вылечен...));
                }
                DataUsers.Add(new DataUser(
                   Name = name, History ...));
            }
 
        }
    }
0
 Аватар для UseMuse
154 / 154 / 60
Регистрация: 11.01.2016
Сообщений: 1,329
19.09.2016, 21:56  [ТС]
insite2012, с помощью DataContract/DataMember и с заданными наименованиями атрибутов, жуть, какой не читаемый xml собирается.
0
3 / 3 / 0
Регистрация: 01.10.2015
Сообщений: 28
13.10.2018, 00:30
Здравствуйте, у меня чёт всё равно не работает. Пока не добавляешь поле лист всё норм, если добавить пишет System.NullReferenceException: "Ссылка на объект не указывает на экземпляр объекта."
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
using System.Xml.Serialization;
using System.IO;
 
namespace tests_serializ
{
    //[Serializable]
    public class IntoClass
    {
        public string _word;
        public string[] _meaning;
        public IntoClass()
        {
 
        }
        public IntoClass(string val1, string[] val2)
        {
            _word = val1;
            _meaning = val2;
        }
    }
    public class MainClass
    {
        public string _name;
        public int _age;
        private string str = "Private string";
        [XmlArray("objList"), XmlArrayItem("Item")]
        public List<IntoClass>[] objList { get; set; }
        public IntoClass obj;
        public MainClass()
        {
            _name = "Имя";
            _age = 20;
            obj = new IntoClass("world", new []{ "meaning1","meaning2" });
        }
        public void RecToFile()
        {
            XmlSerializer formatter = 
                new XmlSerializer(typeof(MainClass));
            using (FileStream fs = new FileStream(
                "obj.xml", FileMode.OpenOrCreate))
            {
                formatter.Serialize(fs, this);
            }
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            var obj = new MainClass();
            XmlSerializer formatter =
                new XmlSerializer(typeof(MainClass));
            //obj.RecToFile();
 
            Console.WriteLine("\nProgram End");
            Console.ReadKey();
        }
    }
}
Миниатюры
Как сериализовать список объектов xml?  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.10.2018, 00:30

Как правильно сериализовать и десериализовать коллекцию объектов разных типов?
имеются классы, допустим private abstract class Shape { public int X { get; set; } public int Y {...

Как можно сериализовать список сборок в файл?
Есть проект. На этапе его создания к нему подключаются определенные библиотеки dll. В итоге имеем список сборок, которые подключены к...

Сериализовать двумерный массив в XML
Есть класс с двумерным массивом: public class TestXML { public int Array=new int; } Объект этого...

Сериализовать/Десериализовать xml объект
Доброго времени суток, форумчане! Подскажите пожалуйста, как сериализовать/десериализовать xml объект вида &lt;root&gt; ...

XMLSerialization, сериализовать полученный List в файл XML
Привет всем пользователям форума :) У меня тут такая проблема возникла. Вообщем у меня есть три класса (Item, Weapon, Armor). Weapon и...


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

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
Новые блоги и статьи
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru