Проблемы с выводом XML для коллекций списков службой WCF с Datacontract - PullRequest
1 голос
/ 11 ноября 2011

Я новичок в 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>
...