2014-12-02 38 views
0

這裏有一個C#類我序列化到XML,目前與System.Xml.Serialization.XmlSerializer:如何從XML序列化中省略單個列表成員?

public class Stuff 
{ 
    // ... 

    [XmlElement("things")] 
    public List<Thing> Things { get; set; } 
} 

有什麼辦法來控制,在序列化時,無論是否連載每一個人件事列表? (例如,在每個Thing上調用謂詞以確定它是否應該包含在內)。

注意:我已閱讀了很多關於other questions的「ShouldSerialize *」技巧,但似乎僅適用於屬性級別 - 即序列化整個列表,或者沒有。我想要的是爲我的列表中的每個成員決定。如果有更好的解決方法,解決方案不必使用XmlSerializer。

回答

0

序列化是關於對整個對象進行序列化,可能除了對象的某些屬性。

如果您希望列表中的單個元素不被序列化,請不要將它們放入列表中。可能創建列表的副本,但刪除了不需要的元素。

+0

謝謝,我認爲這對我有用。控制屬性而不是列表成員之間的區別對我來說是任意的,但如果它不是一個經常需要的功能似乎是合理的。 – user1454265 2014-12-02 22:28:46

相關問題