我有一個ASP.Net Web API項目,它已經包含控制器以JSON格式返回結果。現在我必須添加新的控制器,它應該只接收和返回XML。我知道我可以使用下面的選項推控制器返回XML序列化對象:ASP.Net Web API。一個項目中的JSON和XML響應
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true
但是,如果我這樣做,我想到的是,舊的控制器也將返回XML格式的數據,對不對?這不是我所需要的。那麼,我如何才能實現我的目標並僅從一些控制器返回XML序列化對象?謝謝。
UPDATE
我曾嘗試建議的方法,但它並沒有爲我工作。我正在使用Fiddler進行測試。請注意這個結果仍然是JSON(最後截圖)下面是其他信息:
控制器:
Request類:
Response類:
請求在提琴手:在提琴手
響應:
謝謝你的回答。我已經刪除了強制XML序列化的行(在原始問題中提到過)。但現在我發現XML序列化忽略了設置XML元素名稱的屬性:[XmlElement(「contentname」)] public string ContentName {get;組; }我能以某種方式修復它嗎? – Antipod 2013-03-11 21:16:32
我也想在我的XML響應中避免以下屬性:xmlns:i =「http://www.w3.org/2001/XMLSchema-instance」and xmlns =「http://schemas.datacontract.org/ 2004/07/Test.Models「 – Antipod 2013-03-11 21:25:19
Piotr Walat,謝謝你的答案中的編輯部分。不幸的是,它不適合我。我不知道爲什麼。我用一些截圖更新了我的原始問題。 – Antipod 2013-03-11 22:29:14