C#.Net 持久化对象为XML文件
MyXmlSerializer.cs 文件内容:
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:1980854898
/// <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:1980854898
使用方法:
C# Code:
/// <summary>
/// 获取历史记录, 反序列化
/// </summary>
/// <returns></returns>
public static VersionHistory GetVersionHistory()
{
string versionFile = Application.StartupPath XML_FILE;
if (File.Exists(versionFile))
{
object o = MyXmlSerializer.Deserialize(typeof(VersionHistory), versionFile);
return o as VersionHistory;
}
else
return new VersionHistory();
}
/// <summary>
/// 保存历史记录,序列化
/// </summary>
public void Save()
{
string versionFile = Application.StartupPath XML_FILE;
MyXmlSerializer.Serialize(this, versionFile);
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
/// <summary>
/// 获取历史记录, 反序列化
/// </summary>
/// <returns></returns>
public static VersionHistory GetVersionHistory()
{
string versionFile = Application.StartupPath XML_FILE;
if (File.Exists(versionFile))
{
object o = MyXmlSerializer.Deserialize(typeof(VersionHistory), versionFile);
return o as VersionHistory;
}
else
return new VersionHistory();
}
/// <summary>
/// 保存历史记录,序列化
/// </summary>
public void Save()
{
string versionFile = Application.StartupPath XML_FILE;
MyXmlSerializer.Serialize(this, versionFile);
}
//来源:C/S框架网(www.csframework.com) QQ:1980854898
参考文档:
C#持久化对象为XML文件(MyXmlSerializer)
运行ASP.NET 自承载WebApi服务器报错:未能加载文件或程序集System.Web.Http或它的某一个依赖项
EFCore+.NET8:使用Oracle数据库提交大图片文件需要指定BLOB类型|C/S开发框架
C# .NET8使用NPOI导出数据到Excel文件
使用Winform代码生成器生成FastReport.NET报表模板文件(frx文件)
C#.NET7 多线程播放mp3/wav音频|winmm.dll winapi播放音乐文件|C/S开发框架
VS2022+.NET7:从其他项目复制Form.cs窗体文件无法打开设计器(解决方案)
.NET7 WinFormsApp应用操作appsettings.json配置文件
软件概要设计报告文档模板docx文件下载 | CSCODE.NET|C/S开发框架
软件测试(验收)大纲docx文件下载 | CSCODE.NET|C/S开发框架
软件数据库设计报告文档模板docx文件下载 | CSCODE.NET|C/S开发框架
文档名称:软件测试(验收)、详细设计、数据库设计、概要设计、需求分析模板合集(5个模板)docx文件下载 | CSCODE.NET|C/S开发框架
软件详细设计报告文档模板docx文件下载 | CSCODE.NET|C/S开发框架
软件需求分析报告文档模板docx文件下载 | CSCODE.NET|C/S开发框架
C# ASP.NET使用ashx一般处理程序实现上传文件功能-C/S开发框架
C#读取加载XML文件-C/S开发框架
C#持久化对象为XML文件(MyXmlSerializer)
运行ASP.NET 自承载WebApi服务器报错:未能加载文件或程序集System.Web.Http或它的某一个依赖项
EFCore+.NET8:使用Oracle数据库提交大图片文件需要指定BLOB类型|C/S开发框架
C# .NET8使用NPOI导出数据到Excel文件
使用Winform代码生成器生成FastReport.NET报表模板文件(frx文件)
C#.NET7 多线程播放mp3/wav音频|winmm.dll winapi播放音乐文件|C/S开发框架
VS2022+.NET7:从其他项目复制Form.cs窗体文件无法打开设计器(解决方案)
.NET7 WinFormsApp应用操作appsettings.json配置文件
软件概要设计报告文档模板docx文件下载 | CSCODE.NET|C/S开发框架
软件测试(验收)大纲docx文件下载 | CSCODE.NET|C/S开发框架
软件数据库设计报告文档模板docx文件下载 | CSCODE.NET|C/S开发框架
文档名称:软件测试(验收)、详细设计、数据库设计、概要设计、需求分析模板合集(5个模板)docx文件下载 | CSCODE.NET|C/S开发框架
软件详细设计报告文档模板docx文件下载 | CSCODE.NET|C/S开发框架
软件需求分析报告文档模板docx文件下载 | CSCODE.NET|C/S开发框架
C# ASP.NET使用ashx一般处理程序实现上传文件功能-C/S开发框架
C#读取加载XML文件-C/S开发框架
其它资料:
什么是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内容管理系统 |
在线客服
