xml里是否包含回车换行等特殊字符文本

解决方案 »

  1.   

    你可以先把你的数据结构理清,能常,最开始看有没有取到数据
    1:alert(resquest.responseTEXT);
    2:alert(resquest.responseXML.getElementsByTagName("createDate")[0].firstChild.data);//其它的结点类推,看能不能取到数据,有一点把握咱们getElementsByTagName("createDate")这样取回来的总是一个数据,哪怕它只有一个结点比方createDate,如果有多层结点的建议最好是分开取,这样便于了解哪一层没取到;
     createUser = resquest.responseXml.getElementsByTagName("DmImdoc")[0].childNode[1].firstChild.data;
    //这个你取到的应该是 <creatdUser>peter</createUser>的值;
    balId = resquest.responseXml.getElementsByTagName("DmImdoc")[0].childNode[2].childNode[0].firstNode.data;
    //这个你取到的应该是 <balId>00001<balId>
    另外:resquest.responseXml应该为resquest.responseXML
      

  2.   

    你的XML里面有错误 <:createDate></createDate>不能有两个
    你把<createDate>2006-7-25</createDate><DmImdoc:createDate>2006-07-25</DmImdoc:createDate>换成
    <createDate>2006-7-24</createDate>换成
    <dmImLc:createDate>2006-7-24</dmImLc:createDate>而且你需要看看dom的书var myXmlDoc = new ActiveXObject("Microsoft.XMLDOM");
      myXmlDoc.async="false";//禁止同步等到全部载入的时候在执行
      myXmlDoc.load(myXmlPath);//载入XML
      var xmlObj=myXmlDoc.documentElement;//
      var myNodes = myXmlDoc.documentElement.childNodes;
     myNode得到所有的  <root></root>之间的内容
          var firstChild=myNodes.myNodes[0]是得到<DmImdoc>这个对象
          child=myNodes.myNodes[0].childNodes;//得到<createDate><creatdUser><dmImLc>
           myNodes.myNodes[0].childNodes[0]//得到<createDate>
           myNodes.myNodes[0].childNodes[1]//得到<creatdUser>
            myNodes.myNodes[0].childNodes[2]//得到<dmImLc>
    如果要得到 <dmImLc></dmImLc>之间的对象的话
           var nextChild=myNodes.myNodes[0].childNodes[2].childNodes;
           同样myNodes.myNodes[0].childNodes[2].childNodes[0]//得到<balId>
          依次类推
    你可以在网上找找DOM手册
    如果没有加328218816我给你   }
      

  3.   

    var root = resquest.responseXML.documentElement;
    alert(root);// 如果是 null,那说明xml格式错误
      

  4.   

    谢谢楼上的几位,xml不包含特殊字符,不分层取数据是可以取到的例如resquest.responseXML.getElementsByTagName("createDate")[0].firstChild.nodeValue;
    但是分层取的话就取不到了,就是说先找到对象节点,在取对象的属性时,就取不到数据了,例如 resquest.responseXml.getElementsByTagName("DmImdoc")[0].childNode[1].firstChild.data;
    我做的是一个ajax查询,当然xml比上面的复杂多了,不分层取的话,很乱,也很麻烦,DmImdoc,dmImLc中有相同的属性.