如何:将对象序列化为 SOAP 编码的 XML 流
代码示例
由于 SOAP 消息是使用 XML 生成的,因此 XmlSerializer 可用于序列化类和生成编码的 SOAP 消息。结果 XML 符合万维网联合会 (www.w3.org) 文档“简单对象访问协议 (SOAP) 1.1”的第 5 节。如果您要创建通过 SOAP 消息进行通信的 XML Web services,则可以将一组特殊的 SOAP 特性应用于类和类的成员来自定义 XML 流。有关特性的列表,请参见用来控制编码的 SOAP 序列化的特性。
将对象序列化为 SOAP 编码的 XML 流
使用 XML 架构定义工具 (Xsd.exe) 创建类。
应用在 System.Xml.Serialization 中找到的一个或多个特殊特性。请参见“用来控制编码的 SOAP 序列化的特性”中的列表。
通过创建新的 SoapReflectionImporter,然后用已序列化类的类型调用 ImportTypeMapping 方法,来创建 XmlTypeMapping。
下面的代码示例调用 SoapReflectionImporter 类的 ImportTypeMapping 方法,来创建 XmlTypeMapping。
' Serializes a class named Group as a SOAP message. Dim myTypeMapping As XmlTypeMapping = (New SoapReflectionImporter(). _ ImportTypeMapping(GetType(Group))
// Serializes a class named Group as a SOAP message. XmlTypeMapping myTypeMapping = (new SoapReflectionImporter(). ImportTypeMapping(typeof(Group));
通过将 XmlTypeMapping 传递给 XmlSerializer 构造函数,来创建 XmlSerializer 类的实例。
Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
调用 Serialize 或 Deserialize 方法。
示例
' Serializes a class named Group as a SOAP message.
Dim myTypeMapping As XmlTypeMapping = (New SoapReflectionImporter(). _
ImportTypeMapping(GetType(Group))
Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
// Serializes a class named Group as a SOAP message.
XmlTypeMapping myTypeMapping = (new SoapReflectionImporter().ImportTypeMapping(typeof(Group));
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
另请参见
任务
如何:序列化对象
如何:反序列化对象
如何:重写编码的 SOAP XML 序列化
概念
用来控制编码的 SOAP 序列化的特性
使用 XML Web services 进行 XML 序列化
其他资源
生成日期:2010-03-10