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

时间:2016-09-05 13:08:41

标签: c# asp.net web-services wcf serialization

我需要构建一个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>

我得到了一个解决方案here并将[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>吗?

1 个答案:

答案 0 :(得分:0)

[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 "));
    }

...