Удалите xmlns: я = "http://www.w3.org/2001/XMLSchema-instance" при использовании DataContractSerializer

как я могу удалить xmlns: я = "http://www.w3.org/2001/XMLSchema-instance" при использовании DataContractSerializer.

это то, что я получаю:

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

Я хочу получить что-то вроде этого:

<ProfileModel>
      <Email>[email protected]</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; }
    }

Я пытаюсь избежать использования замены строки, чтобы удалить его.

Ответ 1

как я могу удалить xmlns: я = "http://www.w3.org/2001/XMLSchema-instance" при использовании DataContractSerializer.

  • hii Romeo... я также пробовал пару часов, чтобы удалить xmlns: я = "http://www.w3.org/2001/XMLSchema-instance".

  • Наконец, я нашел все возможное, надеюсь, что это будет полезно

    публичное сообщение IHttpActionResult (значение [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);

}