J'ai un projet asp.net web api et j'ai un problème avec User Model qui a la chaîne [] Roles comme propriété qui n'est pas sérialisée comme je le veux.Gestion des matrices en sérialisation avec DataContractSerializer
Modèle utilisateur:
[DataContract(Namespace = "")]
public class User
{
[DataMember(Order = 0)]
public string UserName { get; set; } //ro
[DataMember(Order = 1)]
public int CustomerID { get; set; } //ro
[DataMember(Order = 2)]
public string Email { get; set; }
[DataMember(Order = 3)]
public string Phone { get; set; }
[DataMember(Order = 4)]
public string Mobile { get; set; }
[DataMember(Order = 5)]
public string FullName { get; set; }
[DataMember(Order = 6)]
public List<string> Roles { get; set; }
[DataMember(Order = 7)]
public string Culture { get; set; }
[DataMember(Order = 8)]
public string Language { get; set; }
[DataMember(Order = 9)]
public string TimeZone { get; set; }
[DataMember(Order = 10)]
public DateTime Created { get; set; } //ro
}
et quand je reçois le résultat de la demande est quelque chose comme de la manière suivante: -
<User xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UserName>User1</UserName>
<CustomerID>1234</CustomerID>
<Email>[email protected]</Email>
<Phone/>
<Mobile/>
<FullName>XYZ</FullName>
<Roles xmlns:d2p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d2p1:string>AdminRole</d2p1:string>
<d2p1:string>AlertsRole</d2p1:string>
</Roles>
<Culture>en-IN</Culture>
<Language>en</Language>
<Created>2014-04-21T11:26:22</Created>
</User>
mais je veux le code XML comme suit: -
<User xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UserName>User1</UserName>
<CustomerID>1234</CustomerID>
<Email>[email protected]</Email>
<Phone/>
<Mobile/>
<FullName>XYZ</FullName>
<Roles>
<string>Role1</string>
<string>Role2</string>
</Roles>
<Culture>en-IN</Culture>
<Language>en</Language>
<Created>2014-04-21T11:26:22</Created>
</User>
Veuillez suggérer n'importe quelle solution que je peux implémenter.
Merci à l'avance
Créer une classe personnalisée 'RolesList' qui hérite' Liste 'et mettre en œuvre la sérialisation XML vous . –
Styxxy
Avez-vous besoin de définir l'espace de noms sur la classe User? –