把类序列化成XML以及反序列化代码参考

简介:
 
  1. using System; 
  2. using System.Collections.Generic; 
  3. using System.Linq; 
  4. using System.Text; 
  5. using System.IO; 
  6. using System.Xml.Serialization; 
  7.  
  8. namespace ConsoleTest 
  9.     class Program 
  10.     { 
  11.         static void Main(string[] args) 
  12.         { 
  13.             clsTest c = new clsTest(); 
  14.             c.stringvalue = "rrrrrr"
  15.             string s = ToXml<clsTest>(c); 
  16.             clsTest c1 = FromXml <clsTest>(s); 
  17.             c1.ToString(); 
  18.         } 
  19.  
  20.         static public string ToXml<T>(T c) where T : class 
  21.         { 
  22.             string strXml = string.Empty; 
  23.             try 
  24.             { 
  25.                 MemoryStream ms = new MemoryStream(); 
  26.                 XmlSerializer xml = new XmlSerializer(typeof(T)); 
  27.                 xml.Serialize(ms, c); 
  28.                 byte[] arr = ms.ToArray(); 
  29.                 strXml = Encoding.UTF8.GetString(arr, 0, arr.Length); 
  30.                 return strXml; 
  31.             } 
  32.             catch (Exception ex) 
  33.             { 
  34.                 throw
  35.             } 
  36.         } 
  37.  
  38.         /// <summary> 
  39.         ///从Xml字符串读取属性值 
  40.         /// </summary> 
  41.         static public T FromXml<T>(string XMLString) where T : class 
  42.         { 
  43.             MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(XMLString)); 
  44.             XmlSerializer xml = new XmlSerializer(typeof(clsTest)); 
  45.  
  46.             T c = xml.Deserialize(ms) as T; 
  47.             return c; 
  48.  
  49.         } 
  50.     } 
  51.  
  52.     public class clsTest 
  53.     { 
  54.         public int intvalue = 0; 
  55.         public string stringvalue = ""
  56.         public DateTime dt = DateTime.Now; 
  57.  
  58.         public override string ToString() 
  59.         { 
  60.             Console.WriteLine(intvalue); 
  61.             Console.WriteLine(stringvalue); 
  62.             Console.WriteLine(dt); 
  63.             return base.ToString(); 
  64.         } 
  65.     } 
  66.  

 
















本文转自cnn23711151CTO博客,原文链接:http://blog.51cto.com/cnn237111/603220 ,如需转载请自行联系原作者




相关文章
|
3月前
|
XML 存储 JSON
Twaver-HTML5基础学习(19)数据容器(2)_数据序列化_XML、Json
本文介绍了Twaver HTML5中的数据序列化,包括XML和JSON格式的序列化与反序列化方法。文章通过示例代码展示了如何将DataBox中的数据序列化为XML和JSON字符串,以及如何从这些字符串中反序列化数据,重建DataBox中的对象。此外,还提到了用户自定义属性的序列化注册方法。
48 1
|
3月前
|
存储 Java
序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类+IO流知识回顾④】
这篇文章介绍了Java中ObjectInputStream和ObjectOutputStream类的基本使用,这两个类用于实现对象的序列化和反序列化。文章解释了序列化的概念、如何通过实现Serializable接口来实现序列化,以及如何使用transient关键字标记不需要序列化的属性。接着,通过示例代码演示了如何使用ObjectOutputStream进行对象的序列化和ObjectInputStream进行反序列化。
序列化流 ObjectInputStream 和 ObjectOutputStream 的基本使用【 File类+IO流知识回顾④】
|
2月前
|
消息中间件 存储 Java
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
大数据-58 Kafka 高级特性 消息发送02-自定义序列化器、自定义分区器 Java代码实现
49 3
|
2月前
|
分布式计算 资源调度 Hadoop
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
Hadoop-10-HDFS集群 Java实现MapReduce WordCount计算 Hadoop序列化 编写Mapper和Reducer和Driver 附带POM 详细代码 图文等内容
99 3
|
3月前
|
JSON 安全 编译器
扩展类实例的序列化和反序列化
扩展类实例的序列化和反序列化
38 1
|
4月前
|
XML Java 数据格式
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
这篇文章是Spring5框架的AOP切面编程教程,通过XML配置方式,详细讲解了如何创建被增强类和增强类,如何在Spring配置文件中定义切入点和切面,以及如何将增强逻辑应用到具体方法上。文章通过具体的代码示例和测试结果,展示了使用XML配置实现AOP的过程,并强调了虽然注解开发更为便捷,但掌握XML配置也是非常重要的。
Spring5入门到实战------11、使用XML方式实现AOP切面编程。具体代码+讲解
|
7月前
|
分布式计算 Java 大数据
IO流【Java对象的序列化和反序列化、File类在IO中的作用、装饰器模式构建IO流体系、Apache commons-io工具包的使用】(四)-全面详解(学习总结---从入门到深化)
IO流【Java对象的序列化和反序列化、File类在IO中的作用、装饰器模式构建IO流体系、Apache commons-io工具包的使用】(四)-全面详解(学习总结---从入门到深化)
101 0
|
6月前
|
存储 分布式计算 Hadoop
MapReduce编程模型——自定义序列化类实现多指标统计
MapReduce编程模型——自定义序列化类实现多指标统计
50 0
|
7月前
|
XML 存储 C#
C# xml文档反序列化记事
本文介绍了使用XmlSerializer进行XML序列化和反序列化的关键点。包括:1) 以独占方式读取XML文件以避免并发问题;2) 当元素名与类型名不一致时,可通过`[XmlArrayItem]`指定元素名,或创建继承自原始类型的子类;3) 处理DateTime反序列化错误,通过中间字符串属性转换;4) 提到了常用C#特性如`[XmlRoot]`, `[XmlElement]`, `[XmlAttribute]`, `[XmlIgnore]`和`[XmlArrayItem]`的作用。
|
7月前
|
XML Java 数据格式
idea注释顶格不美观的问题--代码与XML
idea注释顶格不美观的问题--代码与XML
53 6