asp.net-web-api - 如何从 WEB API 响应中删除命名空间

标签 asp.net-web-api

请帮助我从 WEB API 响应中删除 xmlns 命名空间。

添加,

config.Formatters.XmlFormatter.UseXmlSerializer = true;

(或者)
[DataContract(Namespace="")]

没有帮助我。非常感谢您的帮助。

最佳答案

最后,我找到了解决方案。刚刚创建了一个 CustomXmlFormatter 来从根元素中删除命名空间。

public class IgnoreNamespacesXmlMediaTypeFormatter : XmlMediaTypeFormatter
{
 public override Task WriteToStreamAsync(Type type, object value, Stream writeStream, HttpContent content, TransportContext transportContext)
{
    try
    {
        var task = Task.Factory.StartNew(() =>
        {
            var xns = new XmlSerializerNamespaces();
            var serializer = new XmlSerializer(type);
            xns.Add(string.Empty, string.Empty);
            serializer.Serialize(writeStream, value, xns);
        });

        return task;
    }
    catch (Exception)
    {
        return base.WriteToStreamAsync(type, value, writeStream, content, transportContext);
    }
   }
}

关于asp.net-web-api - 如何从 WEB API 响应中删除命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13860491/

相关文章:

asp.net - 有没有办法强制 ASP.NET Web API 返回纯文本?

c# - 从自定义 header 和请求正文绑定(bind)

asp.net - 如何在基于 token 的 Web API 身份验证中使用户 token 过期

angularjs - 如何在访问 IdentityServer 的同一旅程中获取 Angular 中的访问 token - MVC、WebApi 和 Angular

c# - ASP.NET Web API 序列化 JSON 错误 : "Self Referencing loop"

c# - 如何将 IList<MyObject> 作为参数传递给 Web API 中的 POST 方法?

asp.net-mvc - 我应该如何保护我的 SPA 和 Web.API?

json - 缩短 JSON : does it make sense? 中的属性名称

asp.net-web-api - Web Api OData Controller 返回空白页,没有错误

c# - 如何使用 AngularJS $http url 引用另一个项目中的 Controller ?