PostMan发送body的内容是XML和和后台接收
一个项目中,厂商要传过来XML的body内容。之前做的项目都是传的json,然后用Json对应的实体就可以接收了
现在传过来就不知道后台用什么样的方法接收了。上代码
[HttpPost] public async Task<ActionResult> SOConfirm(XmlDocument doc)//string appid, string token, { ActionResult result = null;try { //解析下XML-->json
//下面标红的进行了二次的转换,并不是直接解析xml的,因为,直接用的话,
//转出来的json会有就给我解出来"#whitespace","#text"等这玩意
//二次转后就不会有那些个异样的字符串
XmlDocument doctext = new XmlDocument(); doctext.LoadXml(doc.InnerXml); string json = Newtonsoft.Json.JsonConvert.SerializeXmlNode(doctext); var j = JObject.Parse(json);
if (string.IsNullOrEmpty(j["request"]["orderDetails"]["detail"].ToString())) { throw new ECOrderException { ErrorCode = "SOConfirmVwms_02", TransMessage = "订单明细不能为空" }; } //存到sql的必要的数据 string deliveryOrderCode = j["request"]["deliveryOrder"]["deliveryOrderCode"].ToString(); string warehouseCode = j["request"]["deliveryOrder"]["warehouseCode"].ToString();
在startUp类中添加服务:
services.AddMvc()
.AddXmlSerializerFormatters();
一定要注册服务,不注册服务上面的参数,XmlDocument 根本接收不到值
人各有命,上天注定,有人天生为王,有人落草为寇。脚下的路,如果不是你自己的选择,那么旅程的终点在哪,也没人知道。你会走到哪,会遇到谁,都不一定。