无法从AJAX响应中解析XML

时间:2010-06-11 09:41:14

标签: javascript xml

我在从ajax脚本解析xml响应时遇到了一些问题。 XML看起来像这样:

<IMAGE>
    <a href="address">
    <img width="300" height="300" src="image.png class="image" alt="" title="LINKING"/>
    </a>
</IMAGE>
<LINK>
    www.address.com
</LINK>
<TITLE>
   This 
   <i>is title</i>
</TITLE>
<EXCERPT>
   <p>
   And some excerpt
   </p>
</EXCERPT>

js的代码看起来像这样。

function loadTab(id) {
  if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
  }
  else
  {// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  xmlhttp.onreadystatechange=function()
  {
    if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      xmlDoc=xmlhttp.responseXML;
      var title="";
      var image="";                                                                                       

      x=xmlDoc.getElementsByTagName("TITLE");
      for (i=0;i<1;i++)
      {
        title=title + x[i].childNodes[0].nodeValue;
      }
      document.getElementById("ntt").innerHTML=title;


      x1=xmlDoc.getElementsByTagName("IMAGE");
      for (j=0;j<1;j++)
      {
        image=image + x1[j].childNodes[0].nodeValue;
      }
      document.getElementById("nttI").innerHTML=image;
    }
  }

  var url = 'http://www.factmag.com/staging/page/?id='+id;

  xmlhttp.open("GET",url,true);
  xmlhttp.send();
}

当我解析它时,它会拉出标题而不是IMAGE标签内容。我做错了什么?有人可以告诉我吗?提前谢谢!

1 个答案:

答案 0 :(得分:3)

您没有XML,XML文档只能有一个根节点,因此</IMAGE>后面的任何内容都是错误的。

您可能希望使用新元素包装文档。