nullable int가있는 클래스가 있습니까? xml 요소로 직렬화하도록 설정된 데이터 유형. 값이 null 인 경우 xml serializer가 요소를 직렬화하지 않도록 설정하는 방법이 있습니까?
[System.Xml.Serialization.XmlElement (IsNullable = false)] 특성을 추가하려고했지만 "IsNullable이 'false로 설정되지 않았을 수 있습니다. 'Nullable 형식의 경우'System.Int32 '형식을 사용하거나 XmlElement 특성에서 IsNullable 속성을 제거하는 것이 좋습니다. "
[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;
}
}
...
}
위의 클래스는 다음과 같이 직렬화됩니다.
<Score xmlns="http://mycomp.com/test/score/v1">
<ID xsi:nil="true" />
</Score>
그러나 null 인 ID의 경우 ID 요소를 전혀 원하지 않습니다. 주로 MSSQL에서 OPENXML을 사용할 때 다음과 같은 요소에 대해 null 대신 0을 반환하기 때문입니다.