.NET接口接收和返回XML格式数据
最近遇到了一个冷门问题,就是写一个接口,接收XML格式数据,然后再返回XML格式数据,这个问题在国内的技术论坛上扒了半天,然而并没有什么有效的内容出来,最后还是跳墙再加上一点脑力劳动,把这个问题给解决了。
.NET Framework MVC接收application/xml示例代码:
public ActionResult UploadXML()
{
Stream postData = Request.InputStream;
StreamReader sRead = new StreamReader(postData);
string postContent = sRead.ReadToEnd();
return Content("ok");
}
.NET Core接收application/xml示例代码:
[HttpPost]
[Produces("application/xml")]
[Consumes("application/xml")]
public async Task<string> UploadXML()
{
string xml;
using (System.IO.StreamReader reader = new System.IO.StreamReader(Request.Body, Encoding.UTF8))
{
xml = await reader.ReadToEndAsync();
}
return xml;
}
注意:[HttpPost][Produces("application/xml")][Consumes("application/xml")]
标记理论上可以删除(自己去试吧),如果要在.NET Framework MVC 中使用这部分代码,只需要将上述标记删除,然后将Request.Body
换成Request.InputStream
即可
.NET Framework MVC/ .NET Core返回application/xml示例代码:
public ActionResult RetXml()
{
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.LoadXml("<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[支付结果中微信订单号不存在]]></return_msg></xml>");
byte[] bytes = Encoding.UTF8.GetBytes(xmlDocument.OuterXml);
return new FileContentResult(bytes, "application/xml");
}
注意:这个方法通用于任何HTTP的内容返回格式,根据自己的需求进行更改就行了。
实现效果:
版权声明:
作者:兴兴
文章:.NET接口接收和返回XML格式数据
链接:https://www.networkcabin.com/notes/2901
文章版权归本站所有,未经授权请勿转载。
作者:兴兴
文章:.NET接口接收和返回XML格式数据
链接:https://www.networkcabin.com/notes/2901
文章版权归本站所有,未经授权请勿转载。
THE END