带有Datacontract的WCF服务的List集合的XML输出问题

时间:2011-11-11 04:02:26

标签: wcf datacontract

我是WCF的新手并尝试以特定格式输出一些XML。

目前,我的ServiceEvents对象包含ServiceEvent对象的集合(请参阅下面的类和DataContracts)。当我通过WCF获取这些对象时,集合的XML输出将Array0附加到Event元素。对于使用xml的系统,这并不理想(参见下面的xml)。

理想情况下,我想从Events元素中删除属性attr0 =“EventArray”,但它的优先级较低。

如果有人能指出我正确的方向,那将非常感激。

[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>

0 个答案:

没有答案