2012-09-04 60 views
1

我使用ASP.Net的Web API(WCF 4.0)方法返回一個List<WorkItem>ASP.Net的Web API XML序列化ArrayOf

這是返回與ArrayOf一個xml ...形式

<ArrayOfworkitem xmlns="http://schemas.datacontract.org/2004/07/AgilePortalServices.DataContracts" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> 
    <workitem> 
     <id>28</id> 
     <title>Test</title> 
    </workitem> 
    <workitem> 
     <id>27</id> 
     <title>Test Bug</title> 
    </workitem> 
</ArrayOfworkitem> 

但我想它返回

<workitems> 
    <workitem> 
     <id>28</id> 
     <title>Test</title> 
    </workitem> 
    <workitem> 
     <id>27</id> 
     <title>Test Bug</title> 
    </workitem> 
</workitems> 

我該怎麼辦呢?

回答

1

這是由於使用WCF XML序列化的序列化,而不是默認的XmlSerializer的。

您可以通過stting默認格式化修改本(如果你選擇,你可以與第三方替換此)。在this web-api overview

+0

var xml = GlobalConfiguration.Configuration.Formatters.XmlFormatter; xml.UseXmlSerializer = true; 

更多信息我在哪裏可以把這個代碼 - 我研究這表明在Global.asax.cs中Application_Start方法中的鏈接,但我得到一個錯誤:名稱「GlobalConfiguration」不存在在目前情況下 – Kevin

+0

我只是重新閱讀你的問題。道歉,你使用WCF4.0嗎?還是WebAPI?您應該創建一個新的WebAPI(ASP.Net 4.0)項目,而不是一個WCF項目。 – leon

+1

沒有使用的WebAPI項目。現在就試試。謝謝 – Kevin