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文件
/// </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
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框架网 | www.csframework.com | QQ:23404761

参考文档:
C#.Net 持久化对象为XML文件
C#读取加载XML文件-C/S开发框架
CSFramework旗舰版多语言支持两种存储策略:XML文件及SQL数据库
C#获取系统嵌入式资源,如Xml,Txt文件
C# 自动生成Goolge/Baidu的SiteMap.xml文件
C# 拆分PDF文件,提取PDF文本内容|C/S开发框架
VS编译生成的DEBUG目录中所有文件格式解析-C/S开发框架
FileSystemWatcher类监控文件的更改状态并且实时备份文件-C/S开发框架
GIT VS解决方案忽略文件 .gitignore-C/S开发框架
WCF开发框架之Winform客户端配置文件 - App.config
WCF开发框架之WCF服务器配置文件 - Web.config
DataSetExtension - C# DataSet对象持久化到本地文件
C#应用程序不需要管理员权限运行app.manifest文件配置
升级程序DataTable.ReadXml报错:MySql.Data.Types.MySqlDateTime is not allowed here
CSFramework.AutoUpgrader 发布命令升级包出错:InvalidOperationException使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型
运行ASP.NET 自承载WebApi服务器报错:未能加载文件或程序集System.Web.Http或它的某一个依赖项
C#.Net 持久化对象为XML文件
C#读取加载XML文件-C/S开发框架
CSFramework旗舰版多语言支持两种存储策略:XML文件及SQL数据库
C#获取系统嵌入式资源,如Xml,Txt文件
C# 自动生成Goolge/Baidu的SiteMap.xml文件
C# 拆分PDF文件,提取PDF文本内容|C/S开发框架
VS编译生成的DEBUG目录中所有文件格式解析-C/S开发框架
FileSystemWatcher类监控文件的更改状态并且实时备份文件-C/S开发框架
GIT VS解决方案忽略文件 .gitignore-C/S开发框架
WCF开发框架之Winform客户端配置文件 - App.config
WCF开发框架之WCF服务器配置文件 - Web.config
DataSetExtension - C# DataSet对象持久化到本地文件
C#应用程序不需要管理员权限运行app.manifest文件配置
升级程序DataTable.ReadXml报错:MySql.Data.Types.MySqlDateTime is not allowed here
CSFramework.AutoUpgrader 发布命令升级包出错:InvalidOperationException使用 XmlInclude 或 SoapInclude 特性静态指定非已知的类型
运行ASP.NET 自承载WebApi服务器报错:未能加载文件或程序集System.Web.Http或它的某一个依赖项
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
