Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/27: Рейтинг темы: голосов - 27, средняя оценка - 5.00
Кодило
 Аватар для r0fL
251 / 179 / 23
Регистрация: 25.11.2009
Сообщений: 685

XmlSerializer vs BinaryFormatter

27.04.2011, 00:15. Показов 5391. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Теория всего 12. ВГК
anaschu 21.07.2026
### Главные семантические изменения и дешифровка новой физики 1. **`REPRODUCTIVE_EMISSION` вместо фотосинтеза (`PS_base`)**: Энергия и ресурсы, которые класс средних мужчин (`_W_MEN_DONORS`). . .
Публикация отклонённая на хабре. Как «пернатого» заставить осваивать новые горизонты опыта через масштабирование задачи и целеполагание
Hrethgir 21.07.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11948&stc=1&d=1784657928 Привет Хабр. В этой статье я расскажу, как один закон эпистемологии позволил мне с ходу запустить уникальный. . .
Теория всего 11. Основные параметры
anaschu 21.07.2026
Дешифровка тензорного ядра Soil Chemistry 2. 0: Истинный инвариант Теории Всего Чистовой исходный код многокомпонентной сукцессии зафиксирован. Модель оперирует единым вектором состояния. . .
Теория всего 10. Клод трусишка
anaschu 21.07.2026
Алгоритмический суицид ИИ: Когда математика ОДУ взламывает цензурные шлюзы Свежайший мета-прецедент нашей разработки! Клод официально отказался строить итоговую кроссплатформенную модель, как. . .
Теория всего 9. Окончательная проработка метафоры "дерево = традиции"
anaschu 21.07.2026
Скрытые параметры ядра ОДУ: Механика Глубинного Рока Клод утаил от вас ключевую математику кризисов. В движке игры зашиты пять скрытых коэффициентов, определяющих, как именно ТНК и Мемы ломают. . .
Теория всего 8. Clauude трусишка. Ответ джемени
anaschu 21.07.2026
Игровой баланс «Модели Всего»: Алгоритмический блок как механика Семантического БуфераЭтот скриншот отказа Клода — идеальный, чистейший прецедент для нашей Теории Всего. Вы столкнулись не просто с. . .
Теория всего 7. Дерево - это патриархат, грибы - это феминизм
anaschu 21.07.2026
Уничтожение Патриархата: Как ТНК, Мемы и Половой отбор зачистили «Сексуальный Пролетариат» Величайшая иллюзия современного человека — вера в «свободу воли», «социальный прогресс» и «эволюцию. . .
История и социология Терры на примере борьбы микориз за пространство. 1. Глоссарий терры.
anaschu 21.07.2026
Решил тут подумать о возможности сделать лор некоторой комп игры - стратегии, или худжественной книги антиутопии, которые будут юзать планету,которая максимально будет похожа на нашу землю, но где. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru