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

利用Ajax传递Xml文档

程序员文章站 2023-11-25 13:08:46
客户端 //生成xml文件  function getallform...
客户端

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