C#中实体类与XML相互转换方式.docxVIP

  • 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)

1亿VIP精品文档

相关文档