public void DoSerialize() { //var result = new StringBuilder(); ////Type typeObj = obj.GetType() as Type; //DataContractSerializer serializer = new DataContractSerializer(typeof(AllButtonInfo)); //using (var stringWriter = new StringWriter(result)) //using (var xmlWriter = XmlWriter.Create(stringWriter, new XmlWriterSettings { Indent = true })) //{ // serializer.WriteObject(xmlWriter, typeObj); //} AllButtonInfo allInfo = new AllButtonInfo(); allInfo.buttonInfo = buttonInfo; string serialisedToString = allInfo.Serialize(); //MessageBox.Show(serialisedToString); SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "XML Files|*.xml"; saveFileDialog1.Title = "Save Settings File"; saveFileDialog1.ShowDialog(); // If the file name is not an empty string open it for saving. if (saveFileDialog1.FileName != "") { // Saves the Image via a FileStream created by the OpenFile method. System.IO.FileStream fs = (System.IO.FileStream)saveFileDialog1.OpenFile(); byte[] xmlText = new UTF8Encoding(true).GetBytes(serialisedToString); fs.Write(xmlText, 0, xmlText.Length); //// writing data in bytes already //byte[] data = new byte[] { 0x0 }; //fs.Write(data, 0, data.Length); fs.Close(); } }