如何在WCF响应中重命名xml根
本文关键字:重命名 xml 响应 WCF | 更新日期: 2023-09-27 18:04:27
可能重复:
WCF REST:删除前缀“ArrayOf;对于wcf方法响应
我在c#中定义了一个简单的WCF服务,如下所示:
[ServiceContract]
public interface IAugeService
{
[OperationContract]
[WebGet]
List<Face> DetectedFaces();
}
我可以用WebHttpBinding创建一个端点,而且大部分都很好。但是生成的xml响应中的根元素的名称是从返回类型派生的,所以我得到了如下内容:
<ArrayOfFace>
<Face>
...
</Face
...
</ArrayOfFace
我需要给根节点一个不同的名称。
我试图将方法声明更改为:
...
[OperationContract]
[WebGet]
[return: MessageParameter(Name="result")]
List<Face> DetectedFaces();
...
但它没有帮助:(
将Name属性添加到DataMember中。不过,它会添加一个额外的标签。
[DataContract(Name = "FaceList")
public class FaceList
{
...
[DataMember(Name = "Result")]
List<Face> Faces { get; set; }
...
}