2013-04-21 3 views
0

나는 asp.net 웹 API를 사용하여 오전에 있는데도 나는 개인적으로 내가 클라이언트들이 오히려에서 작동할지 결정하도록 할 수 있습니다 HttpResponseMessageRequest.CreateResponse를 사용하여 JSON에서 내 데이터를 처리하는 것을 좋아합니다. 그러나Request.CreateResponse를 사용하여 XML에서 노드 이름을 제어하는 ​​방법은 무엇입니까?

를 xml 데이터 I 볼 때 노드 이름이 끔찍한 것을보십시오. 파일 이름을 변경하는 것 이외에 변경 될 수 있는지 궁금합니다. 예를 들어 xmlRoot를 시도했지만 아무것도하지 않았다. 예를 들어

나는이

return Request.CreateResponse<ResponseResult<List<PersonSearchDto>>>(HttpStatusCode.OK, p); 

같은 수익이 나는이 같은 이름의 루트 노드를받을 수 있나요

ResponseResultOfArrayOfPersonSearchK0AojvId 

내가 Persons

답변

0

추가처럼 뭔가 이름을 바꿀 수 있다면 좋겠지 이 라인이 당신의 Global.asax.cs :

GlobalConfiguration.Configuration.Formatters.XmlDataContractSerializer = true; 
0 this MSDN article에 설명 된대로

그리고 [DataMember][DataContract]를 사용하여 클래스와 속성을 장식 :

namespace MyTypes 
{ 
    [DataContract] 
    public class PurchaseOrder 
    { 
     private int poId_value; 

     // Apply the DataMemberAttribute to the property. 
     [DataMember] 
     public int PurchaseOrderId 
     { 

      get { return poId_value; } 
      set { poId_value = value; } 
     } 
    } 
} 
+0

왜 downvote? –

+0

왜 투표를했는지 모르겠다. 지능적으로는 가져올 네임 스페이스를주지 않을 것이다. wcf에만 해당 되는가? asp.net 웹 API를 사용하고 있습니다. – chobo2

+0

웹 API 용 작업 ... 'System.Runtime.Serialization.dll'에 대한 참조를 추가해야합니다. –

관련 문제