闪客教育 浅谈XML与对象的序列化与反序列化.docVIP

闪客教育 浅谈XML与对象的序列化与反序列化.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
闪客教育 浅谈XML与对象的序列化与反序列化

浅谈XML与对象的序列化与反序列化 这篇文章主要讲述XML与对象的序列化与反序列化。并且会附上一些简单的序列化与反序列化方法,供大家使用。 假设我们在一个Web项目中有这样两个类 public class Member { public string Num { get; set; } public string Name { get; set; } } public class Team { public string Name; public ListMember Members { get; set; } 假设我们需要把Team类的一个实例POST到一个URL, 当然,使用Form隐藏域提交就可以完成该功能。 如果该Team涵概条数据呢? 为了辨别每一个Member,我们得给参数的名字加上后缀。这就要一大串的隐藏域来完成: !--使用Razor来演示--@model Team form id=submitForm action=/team method=post input type=hidden name=TeamName value=@Model.Name / input type=hidden name=MemberNum1 value=@Model.Members[0].Num / input type=hidden name=MemberName1 value=@Model.Members[0].Name / ...!--省略28X2个input标签-- input type=hidden name=MemberNum30 value=@Model.Members[29].Num / input type=hidden name=MemberName30 value=@Model.Members[29].Name / /form script type=text/javascript document.getElementById(submitForm).submit(); /script 还敢想象一下如果Team再复杂一些,嵌套再多一些的状况么? 呃,即使你愿意这么传数据,对方看到一坨参数名就够头疼了。 我们都知道对象是不能在网络中直接传输的,不外尚有补救的方式。 XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储数据,任何一个对象都可以用XML来描述。以Team类为例: ?xml version=1.0 encoding=utf-8? Team xmlns:xsi=/2001/XMLSchema-instance xmlns:xsd=/2001/XMLSchema NameDevelopment/Name Members Member Num001/Num NameMarry/Name /Member Member Num002/Num NameJohn/Name /Member /Members /Team 这样一个XML文档就显露了Team一个实例。 聪明的看官应该已经想到,XML是可以作为对象信息的载体在网络中传输,因为它是文本形式的。 怎么进行XML文档与对象的相互转换呢? XmlSerializer类就是干这个活的。 命名空间:System.Xml.Serialization 程序集:System.Xml(在 system.xml.dll 中) 现在这里展示了一个提供序列化与反序列化方法的EncodeHelper类。 Deserialize方法将XML字符串转换为指定类型的对象; Serialize方法则将对象转换为XML字符串。 /// summary /// 提供xml文档序列化 反序列化 /// /summary public sealed class EncodeHelper { /// summary /// 反序列化XML字符串为指定类型 /// /summary public static object Deserialize(string Xml, Type ThisType) { XmlSerializer xmlSerializer = new XmlSerializer(ThisType); object result; try {

文档评论(0)

lifupingb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档