利用Ajax传递Xml文档

客户端

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

AspNet技术利用Ajax传递Xml文档,转载需保留来源!

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。