我是用Ajax遍历xml文件,写在aspx页面的前台,
下面的代码在本地iis服务器测试没有出现问题,
但是签入源代码管理器并更新到服务器后questsNodes.length就出了问题,它的值为空
由于我们是用VSS团队开发,修改的页面需要签入再更新至服务器function rollBack(){ 
    //alert(xmlHttp.readyState);
    if(xmlHttp.readyState == 4){
if(xmlHttp.status == 200){
    var xmlDoc = xmlHttp.responseXML;
    parseXML(xmlDoc);
    }
}
}function parseXML(xmldoc){
    debugger;
    var questsNodes = xmldoc.selectNodes("/questions/question");//这句话有问题吗?
    for( var i=0; i<questsNodes.length; i++){  //questsNodes.length=0
        *************此处赋值代码略;        var answerNodes = xmldoc.selectNodes("/questions/question[@number='"+(i+1)+"']/selections");
        
        for(var j=0; j<answerNodes.length; j++){
         *********此处赋值代码略;
        }
    }xml文件如下:
<?xml version='1.0' encoding='gb2312' ?>
<questions>
  <question number='1' display1='1+2=?'>
    <selections data='0' display='1' />
    <selections data='0' display='2' />
    <selections data='1' display='3' />
  <question>
</questions>请高手帮忙看下,为什么在本地运行成功,更新到服务器就出问题,我们用的是.net 2003开发的,谢谢了

解决方案 »

  1.   

    var xmlDoc = new ActiveXObject("Msxml2.DOMDocument");
    xmlDoc.async = false;
    xmlDoc.load("a.xml");
    if (xmlDoc.parseError.errorCode != 0) {
       var myErr = xmlDoc.parseError;
    } else {
       node = xmlDoc.selectSingleNode("//question/id[data()=1]");
       if(node != null){
            node = node.parentNode.selectSingleNode("name");
            if(node != null) alert(node.text);
       }
    }
      

  2.   

    help  up up up.........
      

  3.   

    var questsNodes = xmldoc.selectNodes("/questions/question");
    不能选择这样的Node吧,好像只能单独选择questions或者是question节点
      

  4.   

    初步认为是编码问题,
    因为responseText有内容,而responseXML却是空
    我的xml文件是用gb2312的,
    因为有时候会带些汉字在里面,我把xml换成utf-8有些xml用ie打开显示出错,