Кодило
 Аватар для r0fL
251 / 179 / 23
Регистрация: 25.11.2009
Сообщений: 685

XmlSerializer vs BinaryFormatter

27.04.2011, 00:15. Показов 5409. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В чем разница, кроме типа сохранения? Что быстрее, что лучше и удобнее, что и в каком случае использовать "правильнее"? Сам пользуюсь BinaryFormatter, но часто вижу, что многие для примера сериализации приводят именно Xml.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.04.2011, 00:15
Ответы с готовыми решениями:

BinaryFormatter
Мне нужно сохранять в файл некий набор данных и потом их от туда доставать по запросу (целиком). Для этого написал отдельный статический...

Ошибка XmlSerializer.XmlSerializer() недоступен из-за его уровня защиты
Ошбика XmlSerializer.XmlSerializer() недоступен из-за его уровня защиты, как исправить? нужно сделать серилизацию FLY.cs using System; ...

Ошибка в BinaryFormatter
Добрый день, коллеги! Возникла проблемка... Использую в проекте BinaryFormatter. Над проектом работал в 64-битной ОС и там все отлично...

21
1057 / 864 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
18.11.2013, 11:34
Студворк — интернет-сервис помощи студентам
body90, он не умеет работать с собственными классами внутри списка
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
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            MemoryStream ms = new MemoryStream();
            List<MyInt> list = new List<MyInt> { new MyInt(1), new MyInt(2), new MyInt(4), new MyInt(8)};
            XmlSerializer serializer = new XmlSerializer(typeof(List<MyInt>));
            serializer.Serialize(ms, list);
            serializer.Serialize(Console.OpenStandardOutput(), list);
            Console.ReadKey();
        }
    }
    public class MyInt
    {
        int x = 0;
        public MyInt() { }
        public MyInt(int X = 0)
        {
            x = X;
        }
    }
}
<ArrayOfMyInt><MyInt/><MyInt/><MyInt/><MyInt/></ArrayOfMyInt>
0
MЫW
 Аватар для phantom96
124 / 109 / 9
Регистрация: 15.02.2013
Сообщений: 538
18.11.2013, 12:33
Цитата Сообщение от Learx Посмотреть сообщение
body90, он не умеет работать с собственными классами внутри списка
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
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            MemoryStream ms = new MemoryStream();
            List<MyInt> list = new List<MyInt> { new MyInt(1), new MyInt(2), new MyInt(4), new MyInt(8)};
            XmlSerializer serializer = new XmlSerializer(typeof(List<MyInt>));
            serializer.Serialize(ms, list);
            serializer.Serialize(Console.OpenStandardOutput(), list);
            Console.ReadKey();
        }
    }
    public class MyInt
    {
        int x = 0;
        public MyInt() { }
        public MyInt(int X = 0)
        {
            x = X;
        }
    }
}
Вы нормальный человек? Что сериализовать то тут? private int x?
Вот так напишите, а потом ругайтесь на .net:
C#
1
2
3
4
5
6
7
8
9
    public class MyInt
    {
        public int x { get; set; }
        public MyInt() { }
        public MyInt(int X = 0)
        {
            x = X;
        }
    }
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?xml version="1.0"?>
<ArrayOfMyInt xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www
.w3.org/2001/XMLSchema-instance">
  <MyInt>
    <x>1</x>
  </MyInt>
  <MyInt>
    <x>2</x>
  </MyInt>
  <MyInt>
    <x>4</x>
  </MyInt>
  <MyInt>
    <x>8</x>
  </MyInt>
</ArrayOfMyInt>
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.11.2013, 12:33

Проблемы с сериализацией (BinaryFormatter)
Доброго всем времени суток. Есть проблема с использованием BinaryFormatter. Ниже представлен мой код : internal void BackUpJobs() ...

Почему BinaryFormatter требует IXmlSerializable?
Доброго дня форумчанам. Столкнулся с такой вот проблемой при сериализации. Почему бинарный форматтер требует реализации...

Сериализация разнотипных коллекций с помощью BinaryFormatter
Привет всем! Подскажите пожалуйста как сериализовать две раснотипные коллекции в одном файле с помощью BinaryFormatter ?

Потеря данных при десериализции (BinaryFormatter)
Имеются три класса: сезон, раунд, матч. Все состоят в отношении агрегация. В раунде 8 матчей, в сезоне 30 раундов. При сериализации...

Почему BinaryFormatter не сериализует мой класс?
Здравствуйте. Проблема в том, что BinaryFormatter не сериализует этот класс (необходим мне для Unity, так как там проблема с...


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

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

Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru