用戶端
<script language="javascript"> //產生XML檔案 function GetAllFormData() { var strXML = "<Client>\r\n<FormData>\r\n"; strXML += "<UserName>bccu</UserName>" strXML += "<Age>25</Age>"; strXML += "</FormData>\r\n</Client>" return strXML; } ///向服務器發送XML文檔 function Send(Str,URL) { var Http = new ActiveXObject("Microsoft.XMLHTTP") Http.open("POST",URL,false) Http.send(Str) return Http.responseText; } ///獲得XML中指定的節的值 function GetXMLNodeValue(strXML,nodeName) { var Dom = new ActiveXObject("Microsoft.XMLDOM") Dom.async=false Dom.loadXML(strXML) if(Dom.parseError.errorCode != 0) { delete(Dom) return(false) } else { var node = Dom.documentElement.selectSingleNode("//"+nodeName); if(node) nodeValue = node.text; delete(Dom) return(nodeValue); } } function Test() { var tmp = Send(GetAllFormData(),"./test.aspx"); var name = GetXMLNodeValue(tmp,"UserName"); var password = GetXMLNodeValue(tmp,"Age"); } </script>
伺服器端(test.cs)
System.IO.Stream stream = Request.InputStream System.Xml.XmlDocument doc = new XmlDocument(); try { doc.Load(stream); //載入發送過來的Xml文檔 } catch { byte[] buffer = new byte[stream.Length]; stream.Read(buffer,0,buffer.Length); string strXML = System.Text.UnicodeEncoding.Default.GetString(buffer,0,buffer.Length); doc.LoadXml(strXML); } //將doc處理後輸出以便返回到用戶端(此處省略) response.write("")