利用Ajax传递Xml文档

时间:2021-05-25

客户端

<scriptlanguage="javascript">

//生成XML文件
functionGetAllFormData()
{
varstrXML="<Client>\r\n<FormData>\r\n";
strXML+="<UserName>bccu</UserName>"
strXML+="<Age>25</Age>";
strXML+="</FormData>\r\n</Client>"
returnstrXML;
}

///向服務器发送XML文档
functionSend(Str,URL)
{
varHttp=newActiveXObject("Microsoft.XMLHTTP")
Http.open("POST",URL,false)
Http.send(Str)
returnHttp.responseText;
}

///获得XML中指定的节的值
functionGetXMLNodeValue(strXML,nodeName)
{
varDom=newActiveXObject("Microsoft.XMLDOM")
Dom.async=false
Dom.loadXML(strXML)
if(Dom.parseError.errorCode!=0)
{
delete(Dom)
return(false)
}
else
{
varnode=Dom.documentElement.selectSingleNode("//"+nodeName);
if(node)
nodeValue=node.text;
delete(Dom)
return(nodeValue);
}
}

functionTest()
{
vartmp=Send(GetAllFormData(),"./test.aspx");
varname=GetXMLNodeValue(tmp,"UserName");
varpassword=GetXMLNodeValue(tmp,"Age");
}
</script>


服务器端(test.cs)

System.IO.Streamstream=Request.InputStream
System.Xml.XmlDocumentdoc=newXmlDocument();
try
{
doc.Load(stream);//加载发送过来的Xml文档
}
catch
{
byte[]buffer=newbyte[stream.Length];
stream.Read(buffer,0,buffer.Length);
stringstrXML=System.Text.UnicodeEncoding.Default.GetString(buffer,0,buffer.Length);
doc.LoadXml(strXML);
}

//将doc处理后输出以便返回到客户端(此处省略)

response.write("")

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章