我从WCF项目创建了一个“列表”,并在测试项目中使用了该服务。在JavaScript中使用XMLSerializer,我能够创建XML结果。但是,此“ ExtensionData”标签非常令人讨厌。

例如,

<?xml version="1.0"?>
<ArrayOfStudent xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Student>
    <ExtensionData/>
    <Name>Chris</Name>
    <Age>72</Age>
</Student>
<Student>
    <ExtensionData/>
    <Name>Christine</Name>
    <Age>2400</Age>
</Student>


我尝试添加

[ServiceBehaviorAttribute(IgnoreExtensionDataObject = true)]
public class StudentService: IStudentService
{
}


但是,没有运气..

最佳答案

您是否尝试为List创建一个新类并使用[CollectionDataContractAttribute],因为在您的情况下.Net为List创建了一个新的Type并将其命名为ArrayOfStudent。

这样可以解决您的问题。

public StudentList ListStudents()
{
    // return new List<student>();
       return new StudentList();
}

[CollectionDataContract()]
public class StudentList : List<Student>
{}

08-27 01:13
查看更多