利用Ajax传递Xml文档 |
时间:2015-01-29 来源:互联网 作者:佚名 |
|
客户端
<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("")
|
|
|
|