正在从WebApi中删除XML命名空间
本文关键字:删除 XML 命名空间 WebApi | 更新日期: 2023-09-27 18:22:11
因此,我正在使用WebApi和XML。
我只是在结果中不断收到一个奇怪的名称空间,例如:
<QueryId>FE04A4E6-A584-47BF-9DA1-7360DFB08A8D</QueryId>
<ExecutionError>true</ExecutionError>
<OperationResult xmlns:d2p1="http://schemas.datacontract.org/2004/07/MyTypes" i:nil="true"/>
<ErrorMessage>INVALID ACCOUNT</ErrorMessage>
我阅读了一些解决方案,并将其包含在我的WebApiConfig.cs:中
config.Formatters.XmlFormatter.UseXmlSerializer = true;
但使用这个参数,在没有OperationResult标记(唯一一个没有填写的标记)的情况下,我的返回是一样的:
<QueryId>FE04A4E6-A584-47BF-9DA1-7360DFB08A8D</QueryId>
<ExecutionError>true</ExecutionError>
<ErrorMessage>INVALID ACCOUNT</ErrorMessage>
我试着这样使用我的结果对象:
[DataContract(Namespace = "")]
public class CustomRecordResult
{
[DataMember]
public string QueryId { get; set; }
[DataMember]
public bool ExecutionError { get; set; }
[DataMember]
public string ErrorMessage { get; set; }
[DataMember]
public CustomSourceRecord OperationResult { get; set; }
}
但它不起作用。在这种情况下,我的结果对象是空的
有什么想法吗?
非常感谢!
使用EmitDefaultValue选项控制该成员为null时是否序列化。
[DataMember(EmitDefaultValue = false)]
public CustomSourceRecord OperationResult { get; set; }