Example #1
0
        public void Write_EDC(string save_file_path)
        {
            // -----------  Define xml header -------------
            stringwriterUTF8 sw = new stringwriterUTF8();

            System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
            settings.Indent             = true;
            settings.NewLineChars       = "\r\n";
            settings.Encoding           = Encoding.UTF8;
            settings.IndentChars        = "  ";  // next line indent 2 space
            settings.OmitXmlDeclaration = false; // write header  xml version and encode
            XmlSerializerNamespaces names = new XmlSerializerNamespaces();

            names.Add(string.Empty, string.Empty);

            System.Xml.XmlWriter writer        = System.Xml.XmlWriter.Create(sw, settings);
            XmlSerializer        EDC_serialize = new XmlSerializer(this.GetType()); // typeof(EDC_Report));

            EDC_serialize.Serialize(writer, this, names);
            writer.Close();

            if (!Directory.Exists(Path.GetDirectoryName(save_file_path)))
            {
                Directory.CreateDirectory(Path.GetDirectoryName(save_file_path));
            }

            try
            {
                string temp_name = save_file_path + ".tmp";
                using (FileStream fs = System.IO.File.Open(temp_name, FileMode.Create))
                {
                    using (StreamWriter EDCWriter = new StreamWriter(fs, Encoding.UTF8))
                    {
                        EDCWriter.Write(sw.ToString());
                        EDCWriter.Flush();
                        fs.Flush();
                    }
                }

                if (System.IO.File.Exists(save_file_path))
                {
                    System.IO.File.Delete(save_file_path);
                }
                while (System.IO.File.Exists(save_file_path))
                {
                    Thread.Sleep(1);
                }
                System.IO.File.Move(temp_name, save_file_path);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
Example #2
0
        public string EDC_String_Serialize()
        {
            // -----------  Define xml header -------------
            stringwriterUTF8 sw = new stringwriterUTF8();

            System.Xml.XmlWriterSettings settings = new System.Xml.XmlWriterSettings();
            settings.Indent             = true;
            settings.NewLineChars       = "\r\n";
            settings.Encoding           = Encoding.UTF8;
            settings.IndentChars        = "  ";  // next line indent 2 space
            settings.OmitXmlDeclaration = false; // write header  xml version and encode
            XmlSerializerNamespaces names = new XmlSerializerNamespaces();

            names.Add(string.Empty, string.Empty);

            System.Xml.XmlWriter writer        = System.Xml.XmlWriter.Create(sw, settings);
            XmlSerializer        EDC_serialize = new XmlSerializer(this.GetType()); // typeof(EDC_Report));

            EDC_serialize.Serialize(writer, this, names);
            writer.Close();
            return(sw.ToString());
        }