action输出的数据是
<response> 
           <name>张三</name> 
           <sex>男</sex> 
           <name>李四</name> 
           <sex>女</sex>
           <name>王五</name> 
           <sex>女</sex>
</response>
在jsp也面怎么获取<response></response>中的数据,获取人数,并输出没个人的name和sex
如果<response></response>写法有误,该怎么改正,谢谢!祝大家:新年快乐!万世如意!牛年更牛!

解决方案 »

  1.   

    var root = xmlhttp.responseXML.documentElement ;
    var str = "" ;
    if(root.hasChildNodes()) {
       var nodes = root.childNodes;
       var i = 0 ;
       for(;i<nodes.length; i++) {
           if(nodes[i].nodeType == 1) {
              str += nodes[i].childNodes[0].nodeValue + "\n" ;
           }
       }
    }
    alert(str) ;
      

  2.   


    function outputData(){
      var xmlDoc = xmlHttp.responseXML;
      //取出response中的数据
      var resp = xmlDoc.getElementsByTagName("response")[0];
      var name = resp.getElementsByTagName("name");
      var sex = resp.getElementsByTagName("sex");
     //人数即name数组的长度
       var personcount = name.length;
      alert("人数:"+personcount);
      //输出姓名和性别
      var out,currName,currSex;
      for(int i=0;i<name.length;i++){
        currName = name[i];
        currSex = sex[i];
        out = out+"\n"+"姓名:"+currName.childNodes[0].nodeValue+"\t性别:"+currSex.childNodes[0].nodeValue;
      }
    }其他的js函数我没写,例如创建xmlhttp对象等等,试试吧。
      

  3.   

    for(int i=0;i<name.length;i++){
        currName = name[i];
        currSex = sex[i];
        out = out+"\n"+"姓名:"+currName.childNodes[0].nodeValue+"\t性别:"+currSex.childNodes[0].nodeValue;
      }中的int让我找了好久,,,,谢谢哈,,,
    新年快乐!
      

  4.   

    js解析XML实在是麻烦,强烈建议你使用DWR等Ajax框架,或是使用JSON来传递数据。