使用Fiddler我可以通过身体
someXml = ThisShouldBeXml
然后在控制器中
[HttpPost] public ActionResult Test(object someXml) { return Json(someXml); }
将此数据作为字符串获取
如何让提请者将XML传递给MVC ActionController?如果我尝试将身体中的值设置为原始xml,则不起作用。
而对于奖励积分如何从VBscript /经典ASP做这个?
我目前有
DataToSend = "name=JohnSmith" Dim xml Set xml = server.Createobject("MSXML2.ServerXMLHTTP") xml.Open "POST",_ "http://localhost:1303/Home/Test",_ False xml.setRequestHeader "Content-Type","application/x-www-form-urlencoded" xml.send DataToSend
您不能将XML数据作为文件直接传递给MVC控制器。最好的方法之一是将XML数据作为Stream与HTTP发送。
对于发布XML,
>将XML数据转换为流并连接到HTTP头
>将内容类型设置为“text / xml; encoding =’utf-8’”
有关将XML发布到MVC控制器的更多详细信息,请参阅this stackoverflow post
要在控制器中检索XML,请使用以下方法
[HttpPost] public ActionResult Index() { HttpWebResponse response = (HttpWebResponse)request.GetResponse(); if (response.StatusCode == HttpStatusCode.OK) { // as XML: deserialize into your own object or parse as you wish var responseXml = XDocument.Load(response.GetResponseStream()); //in responseXml variable you will get the XML data } }