我有一個可空的int類嗎?數據類型設置爲序列化爲xml元素。有沒有什麼辦法來設置它,所以如果值爲null,xml序列化程序將不會序列化元素?我嘗試添加[System.Xml.Serialization.XmlElement(IsNullable = false)]屬性,但我得到一個運行時序列化異常說有一個錯誤反映了類型,因爲「IsNullable可能不是對Nullable類型設置爲'false'。考慮使用'System.Int32'類型或從XmlElement屬性中刪除IsNullable屬性。「序列化一個空的int
[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>
但對那些空我不想ID元素可言,主要是因爲當我在MSSQL使用OPENXML的ID,它返回對於看起來像
XmlSerializer也支持[Foo}指定模式。 – 2009-03-04 13:47:13
相關頁面位於:http://msdn.microsoft.com/en-us/library/53b8022e%28VS.71%29.aspx – cbp 2010-01-08 06:31:43
任何方式使用ShouldSerialize與自動生成的屬性?即沒有局部變量。 –
Jay
2010-07-15 15:20:14