【问题标题】:In ASP.NET Web API REST response, how can I add an attribute to the root element?在 ASP.NET Web API REST 响应中,如何向根元素添加属性?
【发布时间】:2012-08-29 11:13:17
【问题描述】:

我开发了一个 ASP.NET Web API,它的响应如下:

<ArrayOfMyData>
    <MyData>
         <Id>1</Id>
         <Name>x</Name>
    </MyData>
    <MyData>
         <Id>2</Id>
         <Name>y</Name>
    </MyData>
    <MyData>
         <Id>3</Id>
         <Name>z</Name>
    </MyData>
</ArrayOfMyData>

我想给根元素添加一个属性,所以响应如下:

<ArrayOfMyData MyAttribute="bela bela bela">
    .
    .
    .
</ArrayOfMyData>

【问题讨论】:

  • 您需要为此使用 XmlSerializer,因为它可以更好地控制您的输出。默认情况下,Web API 的 XmlMediaTypeFormatter 使用 DataContractSerializer,它不会生成属性。要切换到 XmlSerializer,可以在属性上设置标志:UseXmlSerializer.stackoverflow.com/questions/6074708/…
  • @KiranChalla-感谢您的评论。您能否将其更改为答案,以便我接受。

标签: asp.net-mvc-4 asp.net-web-api asp.net-4.0


【解决方案1】:

您需要为此使用 XmlSerializer,因为它可以更好地控制您的输出。默认情况下,Web API 的 XmlMediaTypeFormatter 使用 DataContractSerializer,它不会生成属性。要切换到 XmlSerializer,可以在属性上设置标志:UseXmlSerializer: Why are attributes not supported with the DataContractSerializer?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2020-03-09
    相关资源
    最近更新 更多