예제 #1
0
        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();
            }
        }