我是 ASP.NET Web API 的新手。
我已将我的应用程序配置为使用 XMLSerializer 作为
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer
= true;
为了简单起见,说我的控制器返回类 Account 的一个实例
public class Account
{
public int AccountId {get;set;}
public string AccountName {get;set;}
public string AccountNickName {get;set;}
}
当AccountNickName(可选)具有值时,我得到这个作为 XML 响应
<Account>
<AccountId>1</AccountId>
<AccountName>ABAB</AccountName>
<AccountNickName>My Account</AccountNickName>
</Account>
当AccountNickName(可选)为null
<Account>
<AccountId>1</AccountId>
<AccountName>ABAB</AccountName>
</Account>
如果值为 null,则 XML 输出会跳过AccountNickName标记。
我的问题是:
如何配置序列化程序以发送封闭标签而不是跳过属性
并且有没有办法在应用程序级别而不是在类级别上配置它
更新:
我知道您可以使用 JsonSerializerSetting 来配置 JsonFormatter ,您也可以使用XMLSerializer来做到这一点吗?
我不想在类上添加属性/装饰器。