如何将XML发布到MVC控制器? (而不是键/值)

前端之家收集整理的这篇文章主要介绍了如何将XML发布到MVC控制器? (而不是键/值)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用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
    }
}

猜你在找的XML相关文章