【问题标题】:How can I send an XmlDocument to WCF service?如何将 XmlDocument 发送到 WCF 服务?
【发布时间】:2011-04-20 04:27:37
【问题描述】:

我需要将 XmlDocument 从 ASP.Net 传递到 WCF 服务 - 我该怎么做?

我认为在服务合同和运营合同中有一些事情要做 - 我对这个概念很陌生。

提前致谢。

【问题讨论】:

  • 您应该考虑查看您的其他问题并将那些您认为有帮助的答案标记为“已接受”。
  • 确定 Kragen..我很快就会这样做。

标签: c# asp.net wcf xmldocument


【解决方案1】:

将此作为答案,因为我看不到对此问题发表评论的可能性。

应该完全可以使用字符串发送它(将您的 xml 转换为字符串并在您的 wcf 服务中转换回)。

【讨论】:

    【解决方案2】:

    您可以通过 XmlSerializer 类来实现这一点。 这就是你所需要的,请阅读:Using the XmlSerializer Class

    这也满足了被序列化为属性和元素的成员,就像 Xml 文档一样。

    代替:

    <Person>
         <Name>Peyton Crow</Name>
    </Person>
    

    您可以控制将“名称”属性设为属性:

    <Person Name="Peyton Crow" />
    

    【讨论】:

      【解决方案3】:

      如果您只需要 XmlDocument 的内容,一种方法是使用 XmlNode 参数声明操作:

      [OperationContract]
      void MyOperation(XmlNode xml);
      

      然后从客户端调用如下:

      XmlDocument doc = ...
      myService.MyOperation(doc.DocumentElement);
      

      【讨论】:

      • 您不能通过 WCF 将 XmlNode 作为参数传递,例如,它必须是 XmlElement,因为 XmlNode 是抽象的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-30
      • 1970-01-01
      • 1970-01-01
      • 2014-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多