我从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>
{}