Выезд Элементы по сравнению с атрибутами Ned Batchelder.
Хорошее объяснение и хороший список преимуществ и недостатки Элементов и Атрибутов.
Он сводит его к:
Рекомендация: Используйте элементы для данных, которые будут произведены или использованы бизнес-приложением и атрибутами для метаданных.
Важный: см. комментарий @maryisdead ниже для дальнейшего разъяснения.
[XmlRoot (...)]
влияет только на самый внешний элемент (
). Я подозреваю, что вам нужен [XmlElement (...)]
. Конечно, другой способ - написать объект-оболочку:
[XmlRoot("SheduledShows")]
public class Shows {
[XmlElement("SheduledShowElement")]
public List<Show> Shows {get;set;}
}
И сериализовать этот объект-оболочку вместо простого списка.
Используйте DisplayNameAttribute , чтобы изменить отображаемый текст (сделать его более читабельным), DescriptionAttribute , чтобы добавить текст справки к свойству, и CategoryAttribute , чтобы сгруппировать свойства ..
Я нашел ответ на свой вопрос здесь:
Я только что использовал [XmlType ("")]
, и это сработало.
using System;
using System.Xml.Serialization;
namespace CommunityServer.Scheduler
{
[XmlType("ScheduledShowElement")]
public class ScheduledShow
{
...
}
}