C#持久化对象为XML文件(MyXmlSerializer)

  C#持久化对象为XML文件(MyXmlSerializer)

C#持久化对象为XML文件(MyXmlSerializer)


C# Code:

/// <summary>
/// 持久化对象为XML文件
/// </summary>
public class MyXmlSerializer
{
  
  
/// <summary>
  
/// 序列化对象
  
/// </summary>
  
/// <param name="o">对象</param>
  
/// <param name="outFile">持久化对象文件</param>
  
/// <returns></returns>
  
public static bool Serialize(object o, string outFile)
  {
    
using (StringWriter sw = new StringWriter())
    {
      XmlSerializer xz
= new XmlSerializer(o.GetType());
      xz.Serialize(sw, o);
      File.WriteAllText(outFile, sw.ToString(), Encoding.UTF8);
    }
    
    
return true;
  }
  
  
/// <summary>
  
/// 反序列化为对象
  
/// </summary>
  
/// <param name="type">对象类型</param>
  
/// <param name="s">持久化对象文件</param>
  
/// <returns></returns>
  
public static object Deserialize(Type type, string file)
  {
    
string content = File.ReadAllText(file);
    
    
using (StringReader sr = new StringReader(content))
    {
      XmlSerializer xz
= new XmlSerializer(type);
      
return xz.Deserialize(sr);
    }
    
  }
}

//来源:C/S框架网 | www.csframework.com | QQ:23404761



序列化对象到XML文件:


C# Code:

string versionFile = Application.StartupPath + XML_FILE;
MyXmlSerializer.Serialize(
this, versionFile);

//来源:C/S框架网 | www.csframework.com | QQ:23404761



从XML文件反序列化为对象:


C# Code:

object o = MyXmlSerializer.Deserialize(typeof(VersionHistory), versionFile);

//来源:C/S框架网 | www.csframework.com | QQ:23404761





C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务

版权声明:本文为CSFramework文库发布内容,转载请附上原文出处连接
C/S框架网
发表评论

评论内容
昵称:
关联文章

C#持久对象XML文件(MyXmlSerializer)
C#.Net 持久对象XML文件
标签:C#.Net组件开发 - 自定义设计器持久对象的属性
C#.Net组件开发 - 设计时使用自定义属性编辑器持久对象
C#序列/反序列对象.将对象写入文件,从文件读取对象.
标签:C#.Net组件开发 - 设计时持久对象数组
标签:C#.Net组件开发 - 自定义属性编辑器持久对象的属性
NET开发框架,基于ADO.NET数据持久快速开发框架平台-C/S框架网原创产品
C#获取系统嵌入式资源,如Xml,Txt文件
C# 自动生成Goolge/Baidu的SiteMap.xml文件
C#转换IList对象数组byte数组.然后通过WebService传递
C# 动态对象转换实体对象支持泛型(DynamicToEntity)
C#判断对象类型值类型、字符串、对象引用类型或泛型
实例Loginer和DAL层对象,调用方法返回数据
C# Model对象实例转换URL网址参数Param形式
CSFramework旗舰版多语言支持两种存储策略:XML文件及SQL数据库
C#窗体乱码将文件格式ANSI改UTF-8
C#.NET 处理SQL特殊数据类型Geography/Geometry/Hierarchyid/XML
C/S架构Winform插件框架,Winform通用界面框架 - C#.NET
C#面向对象设计(OOP)之对象多态(Polymorphic)