- 9
- 0
- 约9.16千字
- 约 13页
- 2025-06-09 发布于四川
- 举报
第
C#中实体类与XML相互转换方式
目录1、实体类与XML相互转换1.1示例1:将List与XML相互转换1.2示例2:将DataTable与XML相互转换2、序列化常用Attribute讲解说明综合示例:将班级信息序列化成XML2.1创建班级信息类(ClassInfo.cs)2.2创建学生信息类(Student.cs)2.3将班级信息转换成XML总结
1、实体类与XML相互转换
将实体类转换成XML需要使用XmlSerializer类的Serialize方法,将实体类序列化。
把XML转换成相应的实体类,需要使用到XmlSerializer类的Deserialize方法,将XML进行反序列化。
创建XML序列化公共处理类(XmlSerializeHelper.cs)
usingSystem;
usingSystem.IO;
usingSystem.Xml.Serialization;
///summary
///XML序列化公共处理类
////summary
publicstaticclassXmlSerializeHelper
///summary
///将实体对象转换成XML
////summary
///typeparamname=T实体类型/typeparam
///paramname=obj实体对象/param
publicstaticstringXmlSerializeT(Tobj)
using(StringWritersw=newStringWriter())
Typet=obj.GetType();
XmlSerializerserializer=newXmlSerializer(obj.GetType());
serializer.Serialize(sw,obj);
sw.Close();
returnsw.ToString();
catch(Exceptionex)
thrownewException(将实体对象转换成XML异常,ex);
///summary
///将XML转换成实体对象
////summary
///typeparamname=T实体类型/typeparam
///paramname=strXMLXML/param
publicstaticTDESerializerT(stringstrXML)whereT:class
using(StringReadersr=newStringReader(strXML))
XmlSerializerserializer=newXmlSerializer(typeof(T));
returnserializer.Deserialize(sr)asT;
catch(Exceptionex)
thrownewException(将XML转换成实体对象异常,ex);
}
创建用户信息类,用于示例使用。
///summary
///用户信息类
////summary
publicclassUserInfo
///summary
///编号
////summary
publicintID{get;set;}
///summary
///名称
////summary
publicstringName{get;set;}
///summary
///创建时间
////summary
publicDateTimeCreateTime{get;set;}
}
1.1示例1:将List与XML相互转换
///summary
///将List与XML相互转换
////summary
publicstaticvoidListToXmlTest()
//获取用户列表
ListUserInfouserList=GetUserList();
//将实体对象转换成XML
stringxmlResult=XmlSerializeHelper.XmlSerialize(userList);
//将XML转换成实体对象
ListUserInfodeResult=XmlSerializeHe
原创力文档

文档评论(0)