由于 SOAP 消息是使用 XML 生成的,因此 XmlSerializer 类可用于序列化类和生成编码的 SOAP 消息。 生成的 XML 符合万维网联合会文档“简单对象访问协议 (SOAP) 1.1”的第 5 节。 如果您要创建通过 SOAP 消息进行通信的 XML Web services,则可以将一组特殊的 SOAP 属性应用于类和类的成员来自定义 XML 流。 有关属性列表,请参阅控制编码的 SOAP 序列化的特性。
使用 XML 架构定义工具 (Xsd.exe) 创建类。
应用在
System.Xml.Serialization
中找到的一个或多个特殊属性。 请参见“用来控制编码的 SOAP 序列化的属性”中的列表。通过创建新的
XmlTypeMapping
,然后用已序列化类的类型调用SoapReflectionImporter
方法,来创建ImportTypeMapping
。以下代码示例调用
SoapReflectionImporter
类的ImportTypeMapping
方法来创建XmlTypeMapping
。' Serializes a class named Group as a SOAP message. Dim myTypeMapping As XmlTypeMapping = New SoapReflectionImporter().ImportTypeMapping(GetType(Group))
C#// Serializes a class named Group as a SOAP message. XmlTypeMapping myTypeMapping = new SoapReflectionImporter().ImportTypeMapping(typeof(Group));
通过将
XmlSerializer
传递给XmlTypeMapping
构造函数,来创建 XmlSerializer(XmlTypeMapping) 类的实例。Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
C#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)
C#
// Serializes a class named Group as a SOAP message.
XmlTypeMapping myTypeMapping =
new SoapReflectionImporter().ImportTypeMapping(typeof(Group));
XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);