Добавление правильных пространств имен в XML-ответ веб-службы - PullRequest
0 голосов
/ 26 июня 2019

У меня есть проект SVC, и я пытаюсь отформатировать ответ после некоторых спецификаций.У меня есть некоторые проблемы с пространствами имен, показанными в ответе.Я создал следующие элементы в C # на основе схемы xsd:

 [System.Xml.Serialization.XmlTypeAttribute Namespace="http://tempuri.org/Test")]
 [System.Xml.Serialization.XmlRootAttribute(Namespace="http://tempuri.org/Test", IsNullable=true)]
 public partial class BaseResponse 
  {
    private StatusCode statusCodeField;
    private ArrayOfString statusMessages;

    public StatusCode StatusCode {
        get { return this.statusCodeField;}
        set {this.statusCodeField = value;}
    }

    [System.Xml.Serialization.XmlElementAttribute(Namespace= "http://schemas.microsoft.com/2003/10/Serialization/Arrays",ElementName = "StatusMessages", IsNullable = true)]
    public ArrayOfString StatusMessages
    {
        get { return this.statusMessages;}
        set {this.statusMessages = value;}
    }
}

[System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.6.1055.0")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
[System.Xml.Serialization.XmlRootAttribute(IsNullable = false)]
public partial class ArrayOfString
{

    private string[] stringField;

    /// <remarks/>
    [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)]
    public string[] String
    {
        get {return this.stringField;}
        set{this.stringField = value;}
    }
}

И я получил этот ответ:

  <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
  <s:Body>
  <BaseResponse xmlns="http://tempuri.org/Test">
     <a:StatusMessages xmlns:a="http://schemas.microsoft.com/2003/10/Serialization/Arrays"
         xmlns="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
           <String xmlns="http://www.test.com/2/0">Test 123</String>
        </a:StatusMessages>
      </BaseResponse>
    </s:Body>
  </s:Envelope>

Я хотел бы удалить из "StatusMessages" the "a: ". Мне это нужно только на потомках.

...