我想要我的WEB API方法将XML对象返回给调用应用程序。目前它只是将XML作为字符串对象返回。这是不是吗?如果是这样,你如何告诉webapi get方法,它返回一个XML类型的对象?
谢谢
编辑:Get方法的一个例子:
[AcceptVerbs("GET")] public HttpResponseMessage Get(int tenantID,string dataType,string ActionName) { List<string> sqlResult = MyWebSite_DataProvidor.DB.spReturnXMLData ("SELECT * FROM vwContactListing FOR XML AUTO,ELEMENTS").ToList(); string AllResults = ""; for (int i = 0; i < sqlResult.Count - 1; i++) { AllResults += sqlResult[i]; } string sSyncData = "<?xml version=\"1.0\"?> " + AllResults; HttpResponseMessage response = new HttpResponseMessage(); response.Content = new StringContent(sSyncData); return response; }
它有点黑客,因为我仍然在原型阶段。当我可以证明其可行时会重构。
解决方法
如果您返回可序列化的对象,WebAPI会根据客户端发送的Accept标头自动发送JSON或XML。
如果你返回一个字符串,你会得到一个字符串。