共用方式為


HOW TO:將物件序列化為 SOAP 編碼的 XML 資料流

程式碼範例

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

將物件序列化為 SOAP 編碼的 XML 資料流

  1. 使用 XML 結構描述定義工具 (Xsd.exe) 建立類別。

  2. 套用在 System.Xml.Serialization 中發現的一個或多個特殊屬性。請參閱<控制編碼 SOAP 序列化的屬性>中的清單。

  3. 藉由建立新的 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));
    
  4. 利用傳遞 XmlTypeMapping 給 XmlSerializer 建構函式的方式,來建立 XmlSerializer 類別的執行個體。

    Dim mySerializer As XmlSerializer = New XmlSerializer(myTypeMapping)
    
    XmlSerializer mySerializer = new XmlSerializer(myTypeMapping);
    
  5. 呼叫 SerializeDeserialize 方法。

範例

' 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);

另請參閱

工作

HOW TO:序列化物件
HOW TO:還原序列化物件
HOW TO:覆寫已編碼的 SOAP XML 序列化

概念

控制編碼 SOAP 序列化的屬性
以 XML Web 服務進行 XML 序列化

其他資源

XML 和 SOAP 序列化

建置日期:2010-03-10