前言
ASP.NET Web API是一個框架,可以很容易構建達成了廣泛的HTTP服務客戶端,包括瀏覽器和移動設備。是構建RESTful應用程序的理想平臺的.NET框架。
本文主要給大家介紹了關于.net webapi接收xml格式數據的相關內容,下面話不多說了,來一起看看詳細的介紹吧
webapi 接收 xml 的三種方法
前段時間接到一個任務寫一個小接口,要接收java端返回過來的短信xml數據。
剛拿到項目,我的第一想法是對方會以什么形式發送xml格式的數據給我呢,設想三種情況。
我一開始拿到手上的是一串xml格式字符串。如下
<?xml version="1.0" encoding="utf-8"?><returnForm> <type>2</type> <count>1</count> <list> <pushSmsForm> <eprId>0</eprId> <mobile>13560739262</mobile> <msgId>30217002</msgId> <content> <![CDATA[回復內容]]> </content> <userId>id</userId> <extNum>擴展號</extNum> <recvNum/> </pushSmsForm> <pushSmsForm> <eprId>0</eprId> <mobile>13560739261</mobile> <msgId>30217001</msgId> <content> <![CDATA[回復內容]]> </content> <userId>id</userId> <extNum>擴展號</extNum> <recvNum/> </pushSmsForm> </list> </returnForm>
思路
這個xml的基本知識我就不一一介紹了,簡單說一下<![CDATA[ ]]>標志,里面的內容是沒有限制的(除了< 和 >)。繼續講思路,文檔中只說了是post方法,所以我想到了三種可能:
先構建兩個xml反序列化的幫助類
/// <summary> /// 反序列化 /// </summary> /// <param name="type">類型</param> /// <param name="xml">XML字符串</param> /// <returns></returns> public static object Deserialize(Type type, string xml) { using (StringReader sr = new StringReader(xml)) { XmlSerializer xmldes = new XmlSerializer(type); return xmldes.Deserialize(sr); } } /// <summary> /// 反序列化 /// </summary> /// <param name="type"></param> /// <param name="xml"></param> /// <returns></returns> public static object Deserialize(Type type, Stream stream) { XmlSerializer xmldes = new XmlSerializer(type); return xmldes.Deserialize(stream); }利用visual studio自帶的功能xml生成類(編輯-->選擇性粘貼-->paste xml as classes)
新聞熱點
疑難解答
圖片精選