static void Main(string[] args) { Person p = new Person() { Name = "John Doe", Age = 42 }; XmlHelper.Serialize(p, @"D:\test.xml"); Person p2 = new Person(); p2 = XmlHelper.Deserialize(@"D:\test.xml"); Console.WriteLine("Name: " + p2.Name); Console.WriteLine("Age: " + p2.Age); Console.Read(); }
using System.Text; using System.IO; using System.Xml.Serialization; using System.Xml; using System; public static class XmlHelper { /// <summary> /// Serializes the data in the object to the designated file path /// </summary> /// <typeparam name="T">Type of Object to serialize</typeparam> /// <param name="dataToSerialize">Object to serialize</param> /// <param name="filePath">FilePath for the XML file</param> public static void Serialize<T>(T dataToSerialize, string filePath) { try { using (Stream stream = File.Open(filePath, FileMode.Create, FileAccess.ReadWrite)) { XmlSerializer serializer = new XmlSerializer(typeof(T)); XmlTextWriter writer = new XmlTextWriter(stream, Encoding.Default); writer.Formatting = Formatting.Indented; serializer.Serialize(writer, dataToSerialize); writer.Close(); } } catch { throw; } } /// <summary> /// Deserializes the data in the XML file into an object /// </summary> /// <typeparam name="T">Type of object to deserialize</typeparam> /// <param name="filePath">FilePath to XML file</param> /// <returns>Object containing deserialized data</returns> public static T Deserialize<T>(string filePath) { try { XmlSerializer serializer = new XmlSerializer(typeof(T)); T serializedData; using (Stream stream = File.Open(filePath, FileMode.Open, FileAccess.Read)) { serializedData = (T)serializer.Deserialize(stream); } return serializedData; } catch { throw; } } }
收藏
0人收藏
- 2017-09-10 13:53:37C# 显示文件夹下的所有图片文件 by sunqi
- 2017-09-10 13:38:23MVC API post方式调用 by 格格巫2012
- 2017-09-08 11:39:37C# 读写文件window form操作代码 by dreamit
- 2017-09-07 17:23:13C#对文件进行加密解密代码 by 张永磊
- 2017-09-07 17:10:26C#导出数据到Excel或者Word中的代码片段 by zoufei
- 2017-09-07 13:47:23ASP.NET 大文件下载实现代码 by huwei
- 2017-09-06 11:54:16c# Fusion Charts 简单操作 by 廖钊权
- 2017-09-06 11:24:01C# FTP操作类 by 吴红军
- 2017-09-04 12:38:06C# Random 生成不重复随机数 by Merrill
- 2017-09-03 12:21:30插入排序算法的C#实现 by fengsweat
- 2018-12-26 11:42:30java B2B2C springmvc mybatis仿淘宝电子商城系统-整合企业架构的技术点 by it绿萝
相关聚客文章
- electron调用C#应用程序实现串口通信 - Teddy
- C#中new Task中使用async lambda表达式后start的一个坑
- C#中new Task中使用async lambda表达式后start的一个坑
- 请问这和C#有什么关系
- Unity中将Animation Clip嵌入Animator Controller的方法
- Unity中将Animation Clip嵌入Animator Controller的方法
- Unity中使用c# Process在Mac上异常Win32Exception: Applicati
- Unity性能优化 – 脚本篇
- Banifu – VB.NET / C# UI 美化插件
- 请问这和C#有什么关系
- 90 分钟实现一门编程语言——极简解释器教程
- 90 分钟实现一门编程语言——极简解释器教程