c# XML和实体类之间相互转换(序列化和反序列化)
来源:互联网 发布:网络小胖表情包 编辑:程序博客网 时间:2024/05/17 17:39
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using System.Data;using System.Xml;using System.Xml.Serialization; /// <summary>/// Xml序列化与反序列化/// </summary>public class XmlUtil{ #region 反序列化 /// <summary> /// 反序列化 /// </summary> /// <param name="type">类型</param> /// <param name="xml">XML字符串</param> /// <returns></returns> public static object Deserialize(Type type, string xml) { try { using (StringReader sr = new StringReader(xml)) { XmlSerializer xmldes = new XmlSerializer(type); return xmldes.Deserialize(sr); } } catch (Exception e) { return null; } } /// <summary> /// 反序列化 /// </summary> /// <param name="type"></param> /// <param name="xml"></param> /// <returns></returns> public static object Deserialize(Type type, Stream stream) { XmlSerializer xmldes = new XmlSerializer(type); return xmldes.Deserialize(stream); } #endregion #region 序列化 /// <summary> /// 序列化 /// </summary> /// <param name="type">类型</param> /// <param name="obj">对象</param> /// <returns></returns> public static string Serializer(Type type, object obj) { MemoryStream Stream = new MemoryStream(); XmlSerializer xml = new XmlSerializer(type); try { //序列化对象 xml.Serialize(Stream, obj); } catch (InvalidOperationException) { throw; } Stream.Position = 0; StreamReader sr = new StreamReader(Stream); string str = sr.ReadToEnd(); sr.Dispose(); Stream.Dispose(); return str; } #endregion}//----试例代码------------//1. 实体对象转换到Xmlpublic class Student{ public string Name { set; get; } public int Age { set; get; }} Student stu1 = new Student() { Name = "okbase", Age = 10 };string xml = XmlUtil.Serializer(typeof(Student), stu1);Console.Write(xml);//2. Xml转换到实体对象Student stu2 = XmlUtil.Deserialize(typeof(Student), xml) as Student;Console.Write(string.Format("名字:{0},年龄:{1}", stu2.Name, stu2.Age));
1 0
- c# XML和实体类之间相互转换(序列化和反序列化)
- c# XML和实体类之间相互转换(序列化和反序列化)
- c# XML和实体类之间相互转换(序列化和反序列化)
- c# XML和实体类之间相互转换(序列化和反序列化)
- c# XML和实体类之间相互转换(序列化和反序列化)
- c# XML和实体类之间相互转换(序列化和反序列化)
- c# XML和实体类之间相互转换(序列化和反序列化)
- C#实现XML和实体类之间相互转换:序列化和反序列化
- c# XML和实体类之间相互转换(序列化和反序列化)
- c# XML和实体类之间相互转换(序列化和反序列化)
- c# XML和实体类之间相互转换(序列化和反序列化)
- c# XML和实体类之间相互转换(序列化和反序列化)
- XML和实体类之间相互转换(序列化和反序列化)
- XML和实体序列化和反序列化
- 黑马程序员之C#学习笔记: XML和实体序列化和反序列化
- C#序列化及反序列化:类实例和string类型之间转换
- c# XML和实体类之间相互转换
- c# XML和实体类之间相互转换
- hdu——1358Period(kmp专练)
- FFMPEG 5.5
- 精度评定中的准确率(Precision)和召回率(Recall)
- Java:比较运算符compareTo()、equals()、==之间的区别与应用总结
- 安卓GridView异步加载网络图片
- c# XML和实体类之间相互转换(序列化和反序列化)
- POJ 2965 The Pilots Brothers' refrigerator
- 1、Struts框架学习
- Maven Project java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListene
- WPF MVVM 简单实现
- Linux kernel 内存子系统
- getTextBounds 方法作用
- android的Application使用
- 在内部存储中读写文件