background image

PHP

——

入门

XML 与对象的序列化与反序列化

本文是对 XML 与对象的序列化与反序列化进行了详细的分析介绍,需要的朋友参考下
这篇文章主要讲述 XML 与对象的序列化与反序列化。并且会附上一些简单的序列化与反
序列化方法,供大家使用。
假设我们在一个 Web 项目中有这样两个类
代码如下:
 

public

 

class

 Member 

{

public

 string Num { get; set; }

public

 string Name { get; set; }

}

public

 

class

 Team

{

public

 string Name;

public

 List<Member> Members { get; set; }

}
 
假设我们需要把 Team 类的一个实例 POST 到一个 URL,
当然,使用 Form 隐藏域提交就可以完成该功能。
如果该 Team 包括 30 条数据呢?
为了区分每个 Member,我们得给参数的名字加上后缀。这就要一大串的隐藏域来完成:
代码如下:
 
<!--使用 Razor 来演示-->
@model Team
<form id="submitForm" action="" 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>