J'ai une classe avec un nullable int? type de données défini pour sérialiser comme un élément xml. Est-il possible de configurer de sorte que le xml serialializer ne sera pas sérialiser l'élément si la valeur est null?
J'ai essayé d'ajouter le bouton [System.Xml.La sérialisation.XmlElement(IsNullable=false)] attribut, mais je reçois un moteur d'exécution de sérialisation exception disant qu'il y avait une erreur, reflétant le type, parce que "IsNullable ne peut pas être réglé à 'false' pour un type Nullable. Pensez à utiliser le Système de la.Int32 de type ou de retrait de la IsNullable bien de la XmlElement attribut."
[Serializable]
[System.Xml.Serialization.XmlRoot("Score", Namespace = "http://mycomp.com/test/score/v1")]
public class Score
{
private int? iID_m;
...
/// <summary>
///
/// </summary>
public int? ID
{
get
{
return iID_m;
}
set
{
iID_m = value;
}
}
...
}
La classe ci-dessus sera serailize:
<Score xmlns="http://mycomp.com/test/score/v1">
<ID xsi:nil="true" />
</Score>
Mais pour que les Id sont nulles je ne veux pas l'ID de l'élément à tous, principalement parce que lorsque j'utilise OPENXML dans MSSQL, elle retourne la valeur 0 au lieu de null pour un élément qui ressemble à