如何从WCF服务响应中删除outerXML

本文关键字:删除 outerXML 响应 服务 WCF | 更新日期: 2023-09-27 18:05:46

我需要构建一个WCF服务。我做得很成功。它给出了以下输出结果。

结果输出:

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
   <AmountResponse>
      <Status>-8</Status>
      <ErrorCode>-8</ErrorCode>
      <Amount>0</Amount>
   </AmountResponse>
</string>

此服务将由金融机构使用。他们要求稍微改变一下结果。

需要删除<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"></string>

我在这里得到了一个解决方案,并将[XmlSerializerFormat]添加到我的界面中。这样做后,结果显示为:

<string>
   <AmountResponse>
      <Status>-8</Status>
      <ErrorCode>-8</ErrorCode>
      <Amount>0</Amount>
   </AmountResponse>
</string>

从这个结果中,我想删除<string></string>,使其看起来像:

<AmountResponse>
   <Status>-8</Status>
   <ErrorCode>-8</ErrorCode>
   <Amount>0</Amount>
</AmountResponse>

有什么方法可以删除<string></string>

如何从WCF服务响应中删除outerXML

[ServiceContract(Namespace = "")]
[XmlSerializerFormat]
public interface IHelloWorldService
{
    [OperationContract]
    [WebGet(BodyStyle = WebMessageBodyStyle.Bare)]
    Stream Form();

public class HelloWorldService : IHelloWorldService
{
    public Stream Form()
    {
        WebOperationContext.Current.OutgoingResponse.ContentType = 
               "text/html";
        return new MemoryStream(Encoding.UTF8.GetBytes("A working class hero is something to be "));
    }