コード例 #1
0
ファイル: XmlHelper.cs プロジェクト: yyan/winform
        /// <summary>
        /// XML反序列化并解密
        /// </summary>
        /// <param name="path">文件路径</param>
        /// <param name="type">对象类型</param>
        /// <returns></returns>
        public object XmlDeserializeDecrypt(string path, Type type)
        {
            try
            {
                string encrypt = File.ReadAllText(path, Encoding.UTF8);
                string content = EncodeHelper.DecryptString(encrypt, true);

                byte[] bytes = UTF8Encoding.Default.GetBytes(content);
                using (MemoryStream stream = new MemoryStream(bytes))
                {
                    XmlSerializer formatter = new XmlSerializer(type);

                    stream.Seek(0, SeekOrigin.Begin);
                    object obj = formatter.Deserialize(stream);
                    stream.Close();
                    return(obj);
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(LogLevel.LOG_LEVEL_CRIT, ex, typeof(XmlHelper));
                return(null);
            }
        }