title: Empty serialized XML file
body: <p>i get an empty xmlfile after serializing an object. I'm using Monodevelop and Unity 4. I searched for such a long time mostly in this community, but i only found difficult problems with even more difficult answers :) I think mine is so simple, please help me. (I am new to c#)
  The serialized object is this:</p>
  
  <pre><code>[System.Serializable]
  public class information  {
      private string data1;
      private string data2;
      private string data3;
  
  public void Data1(string text)
  {
          data1 = text;
  }
  public string GetData1 ()
  {
      return data1;   
  }
      public void Data2(string text)
      {
          data2 = text;
      }
  public string GetData2 ()
  {
      return data2;   
  }
      public void Data3(string text)
      {
          data3 = text;
      }
  }
  </code></pre>
  
  <p>the serializing class is this, here might be the problem:</p>
  
  <pre><code>public class SaveXml {
          public void SaveData(object obj, string filename)
  {
          XmlSerializer sr = new XmlSerializer(obj.GetType());    
          TextWriter writer = new StreamWriter(filename);
          sr.Serialize(writer, obj);
          writer.Close();
      }
  
      public string Load()
  {
      if(File.Exists("accdata.xml"))
      {
          XmlSerializer xs = new XmlSerializer(typeof(information));
          FileStream read = new FileStream("accdata.xml",FileMode.Open, FileAccess.Read, FileShare.Read);
          information info = (information)xs.Deserialize(read);
          return info.GetData1();
      }
      else
      {
          return "file does not exist";
      }
  }
  </code></pre>
  
  <p>And the serializing and the serialized object get called by a menu that has this 2 buttons:</p>
  
  <pre><code>if(GUI.Button(new Rect(10,50,300,100),"Save"))
  {
      SaveXml saver = new SaveXml();
      information infol = new information();
      infol.Data1("textone");
      infol.Data2("texttwo");
      infol.Data3( "textthree");
      saver.SaveData(infol, "accdata.xml");
  }   
  if(GUI.Button(new Rect(500,50,300,100),"Load"))
  {
      SaveXml saver1 = new SaveXml();
      text = saver1.Load();
  }
  </code></pre>
  
  <p>so the variable text that is declared in the class menu, should be "textone", after i clicked the Save Button and the LoadButton. The Savebutton creates a file that is empty.</p>
  
  <p>The Deserialization seems to work but of course there is no String in the data1 variable in Information so the variable in the menu called text is empty too. I get no errors and i can work with the object after serialization.
  So why doesnt my serialization work? Please help me. I excuse for my bad english and mistakes, i am new to stackoverflow.</p>