返回介绍

如何:将对象序列化为 SOAP 编码的 XML 流

发布于 2025-02-23 23:16:25 字数 2654 浏览 0 评论 0 收藏 0

由于 SOAP 消息是使用 XML 生成的,因此 XmlSerializer 类可用于序列化类和生成编码的 SOAP 消息。 生成的 XML 符合 万维网联合会文档 简单对象访问协议 (SOAP) 1.1 的第 5 节 。 如果您要创建通过 SOAP 消息进行通信的 XML Web services,则可以将一组特殊的 SOAP 属性应用于类和类的成员来自定义 XML 流。 有关属性列表,请参阅 控制编码的 SOAP 序列化的特性 。

将对象序列化为 SOAP 编码的 XML 流

  1. 使用 XML 架构定义工具 (Xsd.exe) 创建类。
  2. 应用在 System.Xml.Serialization 中找到的一个或多个特殊属性。 请参见 用来控制编码的 SOAP 序列化的属性 中的列表。
  3. 通过创建新的 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));
    
  4. 通过将 XmlSerializer 传递给 XmlTypeMapping 构造函数,来创建 XmlSerializer(XmlTypeMapping) 类的实例。
    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);  

另请参阅

XML 和 SOAP 序列化
用来控制编码的 SOAP 序列化的属性
使用 XML Web services 进行 XML 序列化
如何:序列化对象
如何:反序列化对象
如何:重写编码的 SOAP XML 序列化

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文