c# - 删除 xmlns :i ="http://www.w3.org/2001/XMLSchema-instance" when using DataContractSerializer

标签 c# xml serialization

如何在使用 DataContractSerializer 时删除 xmlns:i="http://www.w3.org/2001/XMLSchema-instance"。

这是我得到的:

<ProfileModel xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
  <Email>wolverine@wolverine.com</Email>
  <FirstName>wolverine</FirstName>
  <ID>ty1002225</ID>
  <LastName>wolverine3</LastName>
  <PhoneNumber>66332214477</PhoneNumber>
  <SourceSystem>TY</SourceSystem>
</ProfileModel>

我想得到这样的东西:

<ProfileModel>
      <Email>wolverine@wolverine.com</Email>
      <FirstName>wolverine</FirstName>
      <ID>ty1002225</ID>
      <LastName>wolverine3</LastName>
      <PhoneNumber>66332214477</PhoneNumber>
      <SourceSystem>TY</SourceSystem>
    </ProfileModel>

这是我的模型:

[DataContract(Namespace = "")]
    public class CRMProfileModel
    {
        [DataMember]
        public string FirstName { get; set; }
        [DataMember]
        public string LastName { get; set; }
        [DataMember]
        public string Email { get; set; }
        [DataMember]
        public string PhoneNumber { get; set; }
        [DataMember]
        public string SourceSystem { get; set; }
        [DataMember]
        public string ID { get; set; }
    }

我尽量避免使用字符串替换来删除它。

最佳答案

如何在使用 DataContractSerializer 时删除 xmlns:i="http://www.w3.org/2001/XMLSchema-instance"。

  1. hii Romeo...我也尝试了几个小时来删除 xmlns:i="http://www.w3.org/2001/XMLSchema-instance".

  2. 终于找到了最好的,希望对你有帮助

    public IHttpActionResult Post([FromBody]MessageResponse 值)

{

 var messageresponse =new CRMProfileModel(){.....};
DataContractSerializer doc = new  DataContractSerializer(messageresponse.GetType());  
MemoryStream ms = new MemoryStream();
 dcs.WriteObject(ms, messageresponse); 
var i = Encoding.UTF8.GetString(ms.ToArray()); 
var r = i.Replace("xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\"","");
var ss = new XmlDocument(); 
ss.LoadXml(r);
return Content(HttpStatusCode.OK, ss.DocumentElement, Configuration.Formatters.XmlFormatter);

关于c# - 删除 xmlns :i ="http://www.w3.org/2001/XMLSchema-instance" when using DataContractSerializer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23103679/

相关文章:

java - Spring序列化时如何忽略临时对象属性

c# - 如何更改 Windows Phone 8,8.1 中的默认视频捕获分辨率

c# - 首先使用代码查找带有 Entity Framework 时间戳的更新条目

php - 解析命名空间内的提要

python - 在 OpenERP-7 中通过按钮调用 TreeView

java spring框架代码不运行

c# - 在 SerializationInfo 中获取具有值的成员

C# 错误代码与异常

c# - 如何支持 dotnet core CreateDirectory 中的特殊字符到 NFS 文件共享

c# - 序列化/反序列化多个(不同类型的)对象