Exemple #1
0
        /// <summary>
        /// Serialize biến keysuite rồi ghi nội dung ra tệp filename
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="keysuite"></param>
        public static void XmlSerialize(string filename, object obj, MyXmlFileType type, ToolStripProgressBar progress, ToolStripLabel label)
        {
            if (progress != null)
            {
                progress.Value = 0;
            }
            if (label != null)
            {
                label.Text = "Đang tạo bản lưu tệp, vui lòng chờ...";
            }
            XmlSerializer xmlserialer = new XmlSerializer(GetXmlFileType(type));

            try
            {
                TextWriter w = new StreamWriter(filename);
                if (progress != null)
                {
                    progress.Value = 50;
                }
                xmlserialer.Serialize(w, obj);
                w.Close();
                if (progress != null)
                {
                    progress.Value = 100;
                }
                if (label != null)
                {
                    label.Text = "Đã lưu tệp xong tệp xong. ";
                }
            }
            catch (IOException ex) { Error(ex.Message); }
        }
Exemple #2
0
        /// <summary>
        /// Lấy nội dung XML có trong tệp filename rồi gán vào biến obj
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="keysuite">Biến không khởi tạo. Cho null nếu lỗi.</param>
        public static void XmlDeserialize(string filename, out object obj, MyXmlFileType type, ToolStripProgressBar progress, ToolStripLabel label)
        {
            XmlSerializer xmlserialer = new XmlSerializer(GetXmlFileType(type));

            if (progress != null)
            {
                progress.Value = 0;
            }
            if (label != null)
            {
                label.Text = "Đang đọc tệp, vui lòng chờ ...";
            }
            try
            {
                TextReader r = new StreamReader(filename);
                if (progress != null)
                {
                    progress.Value = 50;
                }
                obj = xmlserialer.Deserialize(r);
                r.Close();
                if (progress != null)
                {
                    progress.Value = 100;
                }
                if (label != null)
                {
                    label.Text = "Đã đọc tệp xong. ";
                }
                return;
            }
            catch (IOException ex) { Error(ex.Message); obj = null; }
        }
Exemple #3
0
        /// <summary>
        /// Xác định kiểu của obj, sử dụng để Serialize hoặc Deserialize XML
        /// </summary>
        /// <param name="obj"></param>
        /// <returns></returns>
        public static Type GetXmlFileType(MyXmlFileType type)
        {
            Type fileType = typeof(object);

            switch (type)
            {
            case MyXmlFileType.Discovers: fileType = typeof(Discovers); break;

            case MyXmlFileType.Groups: fileType = typeof(Groups); break;

            case MyXmlFileType.KeySuite: fileType = typeof(KeySuite); break;

            case MyXmlFileType.SuiteList: fileType = typeof(SuiteList); break;
            }
            return(fileType);
        }