zoukankan      html  css  js  c++  java
  • xml序列化与反序列化

    public static void Serialize(ParseResult parseResult)
            {
                var filePath = Path.Combine(CachePath, parseResult.ParseTime + ".xml");
                if (File.Exists(filePath))
                {
                    File.SetAttributes(filePath, FileAttributes.Normal);
                    File.Delete(filePath);
                }
                var ds = new XmlSerializer(typeof(ParseResult));
                var settings = new XmlWriterSettings { Indent = true };
                using (var writer = XmlWriter.Create(filePath, settings))
                {
                    ds.Serialize(writer, parseResult);
                }
            }
            
            public static ParseResult Deserialize(string fileName)
            {
                try
                {
                    var serializer = new XmlSerializer(typeof(ParseResult));
                    var stream = new FileStream(fileName, FileMode.Open, FileAccess.Read);
                    var parseResult = serializer.Deserialize(stream) as ParseResult;
                    stream.Close();
                    return parseResult;
                }
                catch
                {
                    return null;
                }
            }
          public static void Serialize<T>(T parseResult, string fileName)
            {
                var filePath = Path.Combine(DirectoryPath, fileName);
                if (File.Exists(filePath))
                {
                    File.SetAttributes(filePath, FileAttributes.Normal);
                    File.Delete(filePath);
                }
                var ds = new XmlSerializer(typeof(T));
                var settings = new XmlWriterSettings { Indent = true };
                using (var writer = XmlWriter.Create(filePath, settings))
                {
                    ds.Serialize(writer, parseResult);
                }
            }
            public static T Deserialize<T>(string fileName)
            {
                try
                {
                    var serializer = new XmlSerializer(typeof(T));
                    var stream = new FileStream(Path.Combine(DirectoryPath, fileName), FileMode.Open, FileAccess.Read);
                    var parseResult = (T)serializer.Deserialize(stream);
                    stream.Close();
                    return parseResult;
                }
                catch (Exception exception)
                {
                    return default(T);
                }
            }

    public static string Serialize<T>(T parseResult)
            {
                try
                {
                    var buffer = new StringBuilder();
                    var ds = new XmlSerializer(typeof(T));
                    using (var writer = new StringWriter(buffer))
                    {
                        ds.Serialize(writer, parseResult);
                    }
                    return buffer.ToString();
                }
                catch (Exception)
                {
                    return string.Empty;
                }
            }
  • 相关阅读:
    oracle数据库创建后要做的事情
    (转)ORA-12519: TNS:no appropriate service handler found 的问题处理。
    oracle数据库出现“批处理中出现错误: ORA-00001: 违反唯一约束条件”解决方法
    oracle一点记录
    ora-01400 无法将NULL插入 ID 解决方法
    execl一个工作薄中有几个个工作表,将这几个个工作表分别保存到不同execl文件中
    cutpFTP设置步骤
    Oracle数据库备份与还原操作具体步骤
    redis的安装和pip连接
    微信授权登录
  • 原文地址:https://www.cnblogs.com/jackhuclan/p/5400247.html
Copyright © 2011-2022 走看看