使用 Fiddler 我可以传入 body
someXml=ThisShouldBeXml
然后在 Controller 中
[HttpPost]
public ActionResult Test(object someXml)
{
return Json(someXml);
}
以字符串形式获取此数据
如何让 fiddler 将 XML 传递给 MVC ActionController?如果我尝试将正文中的值设置为原始 xml,则它不起作用。
对于奖励积分,我如何从 VBscript/Classic 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 Controller 。最好的方法之一是使用 HTTP post 将 XML 数据作为 Stream 传递。
对于发布 XML,
- 将 XML 数据转换为流并附加到 HTTP header
- 设置内容类型为“text/xml; encoding='utf-8'”
引用this stackoverflow post有关将 XML 发布到 MVC Controller 的更多详细信息
要在 Controller 中检索 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
}
}
关于xml - 如何将 XML 发布到 MVC Controller 中? (而不是键/值),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17951384/