.NET XML序列化与反序列化

闲着没事,写了两个通用的XML序列化与反序列化的方法。

贴出来当作笔记吧!

 /// <summary>
        /// XML序列化
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="className"></param>
        /// <returns></returns>
        public static string Serializa<T>(T className)
        {
            XmlSerializer xs = new XmlSerializer(typeof(T));
            MemoryStream stream = new MemoryStream();
            XmlWriterSettings settings = new XmlWriterSettings();
            settings.Encoding = new UTF8Encoding(false);
            settings.Indent = true;
            using (XmlWriter writer = XmlWriter.Create(stream, settings))
            {
                xs.Serialize(writer, className);
            }
            return Encoding.UTF8.GetString(stream.ToArray());
        }

 /// <summary>
        /// XML反序列化
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="xmlString"></param>
        /// <returns></returns>
        public static T Deserialize<T>(string xmlString)
        {
            StringReader stringReader = new StringReader(xmlString);
            XmlSerializer xmlSerializer = new XmlSerializer(typeof(T));
            T res = (T)xmlSerializer.Deserialize(stringReader);
            return res;
        }
时间: 2024-08-04 02:41:47

.NET XML序列化与反序列化的相关文章

XML 序列化与反序列化

XML序列化与反序列化 1.将一个类转化为XML文件 /// <summary> /// 对象序列化成XML文件 /// </summary> /// <param name="type">对象类型</param> /// <param name="obj">对象</param> /// <param name="fileName">序列化的XML文件路径<

Note4:XML序列化和反序列化

XML序列化和反序列化 待总结!

c# XML序列化与反序列化 属性字段标识

序列化对象 public class People { [XmlAttribute("NAME")] public string Name { set; get; } [XmlAttribute("AGE")] public int Age { set; get; } } [XmlRoot("Root")] public class Student : People { [XmlElement("CLASS")] public

C#操作XML序列化与反序列化

1 public class XmlSerializerHelper 2 { 3 /// <summary> 4 /// 从XML文件中反序列化读取对象 5 /// </summary> 6 /// <typeparam name="T"></typeparam> 7 /// <param name="filePath"></param> 8 /// <param name="r

XML 序列化 二进制 反序列化 回来

InitializeComponent(); List<WswModel> ListModel = new List<WswModel>(); string FilePath = @"../../XML/UserAddDelectUpdate.xml"; string FilePathBin = @"wsw.wsw"; XmlDocument XmlDoc = new XmlDocument(); BinaryFormatter binary

Xml 序列化 Json 反序列化

#region 全局变量 /// <summary> /// 全局变量 /// </summary> XmlDocument XmlDoc = new XmlDocument(); #endregion #region 加载 public ParseJosn() { InitializeComponent(); ParseJson(XmlPaerseJson()); } #endregion #region Json 转换Model /// <summary> ///

XmlSerializer 对象的Xml序列化和反序列化,XMLROOT别名设置

这篇随笔对应的.Net命名空间是System.Xml.Serialization:文中的示例代码需要引用这个命名空间. 为什么要做序列化和反序列化? .Net程序执行时,对象都驻留在内存中:内存中的对象如果需要传递给其他系统使用:或者在关机时需要保存下来以便下次再次启动程序使用就需要序列化和反序列化. 范围:本文只介绍xml序列化,其实序列化可以是二进制的序列化,也可以是其他格式的序列化. 看一段最简单的Xml序列化代码 1 2 3 4 5 6 7 8 9 10 11 12 class Prog

Xml序列化、反序列化帮助类

之前从网络上找了一个Xml处理帮助类,并整理了一下,这个帮助类针对Object类型进行序列化和反序列化,而不需要提前定义Xml的结构,把它放在这儿供以后使用 1 /// <summary> 2 /// 功能:Xml序列化.反序列化帮助类 3 /// 说明: 4 /// 创建人: 5 /// 创建时间:2014年3月13日 6 /// </summary> 7 public static class XmlHelper 8 { 9 /// <summary> 10 ///

Json/XML序列化和反序列化

1.json序列化和反序列化 序列化是将对象状态转换为可保持或传输的格式的过程; 反序列化,它将流转换为对象; 1)Json.Net 推荐使用Json.Net类库,需要引入的命名空间; 序列化:JsonConvert.SerializeObject 反序列化:JsonConvert.DeserializeObject 2)使用JavaScriptSerializer类 使用JavaScriptSerializer方式需要引入的命名空间,这个在程序集System.Web.Extensions.dl