从Web Api HttpRequestMessage.CreateResponse返回自定义XML

时间:2014-06-11 21:06:06

标签: c# xml asp.net-web-api

我需要从我的mvc 4 web api返回xml,它应该如下所示:

<?xml version="1.0" encoding="UTF-8" ?>
<response>
     <success/>
</response>

我的代码目前看起来像这样:

Request.CreateResponse<string>(HttpStatusCode.OK, "success", Configuration.Formatters.XmlFormatter);

它返回的xml看起来像这样,不符合客户的要求:

<string>success</string>

有没有办法达到我想要的效果? 谢谢!

1 个答案:

答案 0 :(得分:2)

尝试定义Reponse课程,让您的网络API返回CreateResponse<Response>代替:

[System.Xml.Serialization.XmlRootAttribute(ElementName="response")]
public class Response
{
    [System.Xml.Serialization.XmlElement(IsNullable = true)]
    public string success { get; set; }
}