Я новичок в WCF и пытаюсь вывести некоторый XML в определенном формате.
В настоящее время мой объект ServiceEvents содержит коллекцию объектов ServiceEvent (см. Классы и DataContracts ниже).Когда я выбираю эти объекты через WCF, вывод XML для коллекции добавляет Array0 к элементу Event.Для системы, использующей xml, это не идеально (см. Xml ниже).
В идеале я хотел бы удалить атрибут attr0 = "EventArray" из элемента Events, но он имеет низкий приоритет.
Если бы кто-то мог указать мне правильное направление, это было бы оченьценится.
[ServiceContract]
public interface IEventAppService
{
[OperationContract]
ServiceEvents GetEvents();
}
[CollectionDataContract(Name = "Events")]
public class ServiceEvents : List<ServiceEvent>
{
public ServiceEvents(){}
public ServiceEvents(List<ServiceEvent> serviceevent)
{
base.AddRange(serviceevent);
}
}
[DataContract(Name = "Event")]
public class ServiceEvent
{
[DataMember]
public long ID
{
get;
set;
}
[DataMember]
public string Name
{
get;
set;
}
[DataMember]
public System.DateTime DateStart
{
get;
set;
}
[DataMember]
public System.DateTime DateEnd
{
get;
set;
}
}
<GetEvents>
<MethodParameters>
<Events attr0="EventArray"isNull="false">
<EventArray0>
<DateEnd>20/11/2011 12:00:00 AM</DateEnd>
<DateStart>10/11/2011 12:00:00 AM</DateStart>
<ID>2</ID>
<Name>Event1</Name>
</EventArray0>
</Events>
</MethodParameters>
</GetEvents>