只粘贴部分代码: function callback() { if (xmlHttp.readyState == 4) {
if (xmlHttp.status == 200) {
clear(GlobalNextPara);
var pros = document.getElementById(GlobalNextPara);
//这步没有问题<nextParaValue>即使这里有&也可以正常打印</nextParaValue>
alert(xmlHttp.responseText); //但是,有&的时候,这步得到的值就是0
var paravalue = xmlHttp.responseXML.getElementsByTagName("nextParaValue");

alert(" paravalue.length = " + paravalue.length);

解决方案 »

  1.   

    xmlHttp.responseXML的时候出现问题了呗。
    你alert(xmlHttp.reponseText)是可以的
    可能是你后台的xml数据流有问题
    比如没有设置Response.ContentType=("text/xml;charset=UTF-8");这个
    比如格式有问题
      

  2.   

    xmlHttp.responseXML的时候出现问题了呗。
    你alert(xmlHttp.reponseText)是可以的
    可能是你后台的xml数据流有问题
    比如没有设置Response.ContentType=("text/xml;charset=UTF-8");这个
    比如格式有问题
    ----------------------------
    我测试过,纯英文字符测试。只有两个返回值。
    <response>
        <nextParaValue>
            AAABBB
        </nextParaValue>
        <nextParaValue>
            CCCDDD
        </nextParaValue>
    </response>
    这样是没有问题的。但是如果出现&符号,则就会出现异常。
    <response>
        <nextParaValue>
            AAABBB
        </nextParaValue>
        <nextParaValue>
            CCC&DDD
        </nextParaValue>
    </response>
      

  3.   

    你responseText
    然后替换&为&amp;就可以了(解析出来是一样的)
    然后load为xml
      

  4.   

    那你在后台replace("&","&amp")
      

  5.   

    <nextParaValue><![CDATA[ 即使这里有&也可以正常打印 ]]></nextParaValue>
    就可以了。
      

  6.   

    这个方法可以实现:但是代码必须为:
    xml.replaceAll("&", "&amp;");    //amp后边的分号不能少还有那些符号会有这样的影响呢,能给列举下吗,谢谢。因为我发现我还有其他的页面有这样的问题,估计都是这样的特殊字符造成的,谢谢。
      

  7.   

    问题已经解决,结题:<nextParaValue><![CDATA[ 即使这里有&也可以正常打印 ]]></nextParaValue>
    最终使用这个方法解决。那你在后台replace("&","&amp")
    这个也指出了问题的所在,谢谢各位!