Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
CyberFireFly
2 / 2 / 3
Регистрация: 06.08.2015
Сообщений: 32
1

Сериализация объекта класса

21.09.2015, 12:39. Просмотров 856. Ответов 2
Метки нет (Все метки)

Здравствуйте!
Подскажите как должен выглядеть класс что бы по сериализации объекта этого класса получить xml не только с элементами но и атрибутами?
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.09.2015, 12:39
Ответы с готовыми решениями:

Сериализация класса Brush
Здравствуйте! У меня есть класс, одно из свойств которого имеет тип Brush....

Сериализация абстрактного класса
Здравствуйте! Подскажите пожалуйста, как сделать сериализацию абстрактного...

Сериализация массива экземпляров класса
public class Employees { public int...

Сериализация наследника от шаблонного класса
В общем есть шаблонный класс для сериализации. Есть еще один базовый класс,...

Сериализация пользовательского класса Font.
Народ, подскажите, как сериализовать этот класс? Может какой интерфейс надо...

2
Konctantin
939 / 743 / 170
Регистрация: 12.04.2009
Сообщений: 1,700
21.09.2015, 15:52 2
Лучший ответ Сообщение было отмечено CyberFireFly как решение

Решение

Пример:
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
[Serializable]
public class Ability
{
    [XmlIgnore]
    public bool IsChecked              { get; set; }
 
    [XmlAttribute]
    public string Name                 { get; set; }
 
    public uint SpellID                { get; set; }
 
    [XmlElement("Target")]
    public List<TargetType> TargetList { get; set; }
 
    public bool CancelChannel          { get; set; }
 
    public bool CancelCasting          { get; set; }
 
    public bool IsUsableCheck          { get; set; }
 
    public float RecastDelay           { get; set; }
 
    public MovingStates MovingCheck  { get; set; }
 
    [XmlIgnore]
    public string Lua                  { get; set; }
 
    [XmlElement("Lua")]
    public XmlCDataSection _lua
    {
        get { return Extensions.CreateCDataSection(this.Lua); }
        set { this.Lua = Extensions.GetTrimValue(value); }
    }
}
2
CyberFireFly
2 / 2 / 3
Регистрация: 06.08.2015
Сообщений: 32
23.09.2015, 13:12  [ТС] 3
При сериализации получаю xml вида:
XML
1
2
3
4
5
6
<messages xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <sender></sender>
.
.
.
</messages>
Как избавиться от Namespace'ов

Пробовал
[XmlRoot("messages",Namespace = "")] не помогло.

Добавлено через 5 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
            XmlSerializer serializer = new XmlSerializer(_class.GetType());
            MemoryStream ms = new MemoryStream();
            XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
            ns.Add(string.Empty, "");
             using (StreamWriter sw = new StreamWriter(ms, Encoding.Unicode))
            using (StreamReader sr = new StreamReader(ms))
            {
                serializer.Serialize(sw, _class,ns);
                sw.Flush();
                ms.Position = 0;
                output = sr.ReadToEnd();
            }
Добавлено через 47 секунд
Разобрался)
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.09.2015, 13:12

Сериализация закрытых (private) полей класса
Я пишу свой сериализатор/десериализатор, НЕ на основе System.XML.Serialization....

Бинарная сериализация класса без подписчиков на его событие
Здравствуйте. Продемонстрирую проблему на упрощенном примере. Есть класс...

XML сериализация класса с методом, который принимает параметры
такой вопрос: можно ли как-нибудь в классе описать метод, который принимает...


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

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

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