2013-09-30 79 views
1

我一直在谷歌上搜索一小時,但我認爲我沒有使用正確的詞,因爲我找不到一個非常簡單的例子試圖去做。人們總是在樣本中使用像列表或派生對象這樣的複雜結構。如何在容器對象中使用XMLSerialize成員對象

我想要做的就是將我的主要對象稱爲SuperFile的XMLSerialize到一個文件。這個SuperFile類包含2個成員,並且這2個成員沒有被序列化,因此生成的XML文件是空的(僅包含頭部)。

這是我的代碼,我做錯了什麼?

SuperFile

public class SuperFile 
{ 
     private NetworkInfo _networkInfo; 
     private Planification _planification; 

     public NetworkInfo NI 
     { 
      get 
      { 
       return _networkInfo; 
      } 
     } 

     public Planification Planif 
     { 
      get 
      { 
       return _planification; 
      } 
     } 
} 

的NetworkInfo和Planification與大多雙件非常正常類和它們完美連載自己,如果我想。但現在,我想讓他們在SuperFile對象內部序列化。

最後,這裏是我的代碼做序列化

public void Save(string strFilename) 
{ 
    System.Xml.Serialization.XmlSerializer x = new System.Xml.Serialization.XmlSerializer(typeof(ExoFile)); 
    TextWriter WriteFileStream = new StreamWriter(strFilename); 
    x.Serialize(WriteFileStream, this); 

    WriteFileStream.Close(); 
} 

如果我把這個裏面SuperFile,它得到系列化但2其他成員被跳過。我認爲它得到序列化,因爲它不是一個複雜的類型...

public int _nDummy; 

希望它很清楚!

謝謝!

+0

嘗試把一個setter的屬性(NI和Planif); – NDJ

+0

就是這樣!謝謝NDJ。你能寫一個完整的答案並解釋爲什麼? –

+0

完成 - 很高興它幫助! – NDJ

回答