1
私は、WCFサービスを持っていると私は以下のようなクラスを持っている:不要なタグ名
public class Message
{
[XmlElement(ElementName = "message")]
[DataMember(Name = "message")]
public string message { get; set; }
[XmlElement(ElementName = "MsgID")]
[DataMember(Name = "MsgID")]
public string MsgID{ get; set; }
}
は、私は、ブラウザで私は以下のようになっていますXMLを自分のサービスを閲覧:
<MessageResponse>
<Status>SUCCESS</Status>
<a:Message>
<a:message>msg1</a:message>
<a:MsgID>1</a:MsgID>
</a:Message>
</MessageResponse>
私のサービス契約は、以下のようなものです: ともう一つ重要なことは、次のとおりです。MessageDcoクラスは
[ServiceContract()]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class UserLoginProfileService
{
[WebGet(UriTemplate = "/GetMessages?MsgID={MsgID}")]
public MessageResponse GetMessage(Guid MsgID)
{
MessageResponse objMessageResponse = new MessageResponse();
try
{
Message objMessage = new MessageFacade().GetMessage(MsgID);
if (objUserLoginProfile != null)
{
MessageResponse.Status = Status.Success;
MessageResponse.Messages = Mapper.ToDataContractObjects(Message);
}
else
{
objMessageResponse.Status = Status.Success;
}
}
catch (Exception ex)
{
objMessageResponse.Status = Status.Failure;
}
return objMessageResponse;
}
}
public class MessageResponse
{
[XmlElement(ElementName = "Messages")]
[DataMember(Name = "Messages")]
public MessageDco[] Messages { get; set; }
[XmlElement(ElementName = "Status")]
[DataMember(Name = "Status")]
public string Status { get; set; }
}
メッセージクラスのコピーですの
マイマッパークラスは、以下のようなものです:
public sealed class Mapper
{
public static MessageDco[] ToDataContractObjects(IEnumerable<MessageDco> objMessageDco)
{
if (objMessageDco != null)
{
return objMessageDco.Select(a => ToDataContractObjects(a)).ToArray();
}
else
{
return null;
}
}
}
私たちが見る場合
は「:」タグに追加されます。それがなぜ追加されたのですか?私はタグから "a:"を取り除くことができません。タグから「a:」を削除する方法を教えてください。また、ステータスタグが正しく表示されている場合は、ありがとうございます。
"a"は、属性メッセージ、ステータスなどが宣言されている名前空間を定義する接頭辞です。 – Rajesh
ありがとうございました返信Rajesh、しかし、メッセージクラスは別の名前空間(not a)にありますが、まだ私はタグに "a:"を得ています。どのようにそれを削除するには? – Avinash
namepsaceへの参照は、compelteメッセージのルート要素にあります。バイリンガルでそれを調べてみてください。サービス契約を表示することもできますか?私にはより良い理解があり、何らかの解決策を提供しようとしています – Rajesh