У меня есть проект 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: ". Мне это нужно только на потомках.