栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > .Net

C#实体类与XML相互转换

.Net 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C#实体类与XML相互转换

1、实体类与XML相互转换

将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化。

把XML转换成相应的实体类,需要使用到XmlSerializer类的Deserialize方法,将XML进行反序列化。

创建XML序列化公共处理类(XmlSerializeHelper.cs)

using System;
using System.IO;
using System.Xml.Serialization;

///


/// XML序列化公共处理类
///

public static class XmlSerializeHelper
{
///
/// 将实体对象转换成XML
///

/// 实体类型
/// 实体对象
public static string XmlSerialize(T obj)
{
try
{
using (StringWriter sw = new StringWriter())
{
Type t = obj.GetType();
XmlSerializer serializer = new XmlSerializer(obj.GetType());
serializer.Serialize(sw, obj);
sw.Close();
return sw.ToString();
}
}
catch (Exception ex)
{
throw new Exception("将实体对象转换成XML异常", ex);
}
}

///
/// 将XML转换成实体对象
///

/// 实体类型
/// XML
public static T DESerializer(string strXML) where T : class
{
try
{
using (StringReader sr = new StringReader(strXML))
{
XmlSerializer serializer = new XmlSerializer(typeof(T));
return serializer.Deserialize(sr) as T;
}
}
catch (Exception ex)
{
throw new Exception("将XML转换成实体对象异常", ex);
}
}
}
创建用户信息类,用于示例使用。

///


/// 用户信息类
///

public class UserInfo
{
///
/// 编号
///

public int ID { get; set; }

///
/// 名称
///

public string Name { get; set; }

///
/// 创建时间
///

public DateTime? CreateTime { get; set; }
}
1.1 示例1:将List与XML相互转换

///


/// 将List与XML相互转换
///

public static void ListToXmlTest()
{
//获取用户列表
List userList = GetUserList();

//将实体对象转换成XML
string xmlResult = XmlSerializeHelper.XmlSerialize(userList);

//将XML转换成实体对象
List deResult = XmlSerializeHelper.DESerializer>(xmlResult);
}

///
/// 获取用户信息列表
///

public static List GetUserList()
{
List userList = new List();
userList.Add(new UserInfo() { ID = 1, Name = "张三", CreateTime = DateTime.Now });
userList.Add(new UserInfo() { ID = 2, Name = "李四", CreateTime = DateTime.Now });
userList.Add(new UserInfo() { ID = 2, Name = "王五" });
return userList;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/911060.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号