HOW TO:將物件序列化為 SOAP 編碼的 XML 資料流
因為 SOAP 訊息是使用 XML 建置的,所以 XmlSerializer 類別可用來序列化類別並產生編碼的 SOAP 訊息。 產生的 XML 會與全球資訊網協會之<Simple Object Access Protocol (SOAP) 1.1>文件中的第 5 節相符。 當您建立透過 SOAP 訊息溝通的 XML Web 服務時,您可以將特殊 SOAP 屬性集套用至類別與類別成員以自訂 XML 資料流。 如需屬性的清單,請參閱控制編碼 SOAP 序列化的屬性。
將物件序列化為 SOAP 編碼的 XML 資料流
使用 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))
// 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)
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);