我从 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 创建一个新类型并将其命名为 ArrayOfStudent。
这可能会解决您的问题。
public StudentList ListStudents()
{
// return new List<student>();
return new StudentList();
}
[CollectionDataContract()]
public class StudentList : List<Student>
{}
关于c# - WCF,xml 创建我想要删除的 ExtensionData 标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20108575/