background image

 
还敢想象一下如果 Team 再复杂一些,嵌套再多一些的情况么?
呃,即使你愿意这么传数据,对方看到一坨参数名就够头疼了。
我们都知道对象是不能在网络中直接传输的,不过还有补救的办法。
XML(Extensible Markup Language)可扩展标记语言,本身就被设计用来存储数据,任何一
个对象都可以用 XML 来描述。以 Team 类为例:
代码如下:
 
<?xml version="1.0" encoding="utf-8"?>
<Name>Development</Name>
<Members>
<Member>
<Num>001</Num>
<Name>Marry</Name>
</Member>
<Member>
<Num>002</Num>
<Name>John</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>