2010-06-11 3 views
1

У меня возникли проблемы с разбором XML-ответа из моего сценария ajax. XML выглядит так:Невозможно разобрать XML из ответа AJAX

<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. Что я делаю неправильно? Может кто-нибудь, пожалуйста, скажите мне? Заранее спасибо!

ответ

3

У вас нет XML, XML-документ может иметь только один корневой узел, поэтому все, что следует за </IMAGE>, является ошибкой.

Возможно, вы захотите обернуть документ новым элементом.

Смежные вопросы