欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

如何利用Ajax传递Xml文档教程详解

程序员文章站 2022-04-29 23:46:09
...
客户端

<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("")

以上就是如何利用Ajax传递Xml文档教程详解的详细内容,更多请关注其它相关文章!