【发布时间】:2014-05-30 23:39:31
【问题描述】:
如何在使用 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; }
}
我试图避免使用字符串替换来删除它。
【问题讨论】:
-
您可以在这里找到答案:stackoverflow.com/a/8061839/3383479
-
@Inanikian Op 使用的是 DataContractSerializer,而不是 XmlSerializer
-
@rcadaoas 你有没有找到一种不用字符串替换的方法?我花了一些时间研究这个,但从我发现的一切来看,这似乎是不可能的。
-
@CrnaStena,不幸的是,我仍然选择了字符串替换方法。
-
您需要使用自定义序列化程序。
标签: c# xml serialization