Сериализация XML помещает псевдоним в поле без использования [XmlElement(aliasName)]

Я хочу сериализовать класс с двумя полями объекта

   public object Status{get:...set:...}
   public object Data{get:...set:...}

Я хочу переименовать поле «Данные» в выходном XML-файле. Но я должен иметь возможность изменить имя с помощью некоторой функции setAlias("Data", "RenamedField"). (не со статическим тегом [XmlElement("aliasName")] в исходном файле)

Я сделал это с JsonExSerializer, но не знаю, как это сделать с System.Xml.Serialization.

Спасибо за советы, - Джереми.


person Jeremy D    schedule 01.03.2011    source источник
comment
Почему недостаточно атрибута?   -  person    schedule 01.03.2011
comment
Я использую один и тот же класс, чтобы содержать разные типы. Затем этот класс сериализуется как спокойный ответ веб-службы. Я хочу, чтобы узел данных был назван содержащимся типом: ‹status›...‹/status›‹line›‹/line› или ‹status›...‹/status›‹circle›‹/circle› это было работаю с сериализатором Json, но теперь мне нужно реализовать вывод XML   -  person Jeremy D    schedule 01.03.2011
comment
Скорее всего, это недостаток архитектуры вашего приложения.   -  person Daniel Hilgarth    schedule 01.03.2011
comment
Я так думаю, надеялся на какое-то грязное обходное решение;)   -  person Jeremy D    schedule 01.03.2011


Ответы (1)


Я думаю, вам нужно реализовать IXmlSerializable интерфейс и создайте XML самостоятельно.

person Daniel Hilgarth    schedule 01.03.2011
comment
Я собираюсь реализовать IXmlSerializable и использовать метод WriteXml. Благодарю вас! - person Jeremy D; 01.03.2011