gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 11:40:34 25 4
gpt4 key购买 nike

请帮助我从 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com