2012-10-08 57 views
0

Right,下面是一個簡單的JavaScript請求,用於顯示XML文檔中的內容。用於XML的HTTPRequest - 僅在存在某個子子項時纔會顯示

我有都來自同一個地方不同版本的XML年代的很多的,但有些是結構略有不同,所以KISCOURSE標籤裏面的一些元素沒有TITLE - 發生這種情況時,它拋出了我編碼結構並使其顯示錯誤。

有沒有一種方法,如果TITLE沒有內部KISCOURSE發現,那麼不顯示KISCOURSE,只是移動到下一個。

只是櫃面,有關XML數據的外觀示例,請參見:http://universitycompare.com/wp-content/themes/blue-and-grey/XML/london_metropolitan_university.xml

<script type="text/javascript"> 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.open("GET","http://universitycompare.com/wp-content/themes/blue-and-grey/XML/london_metropolitan_university.xml",false); 
xmlhttp.send(); 
xmlDoc=xmlhttp.responseXML; 

var x=xmlDoc.getElementsByTagName("INSTITUTION"); 
for (i=0;i<x.length;i++) 

var x=xmlDoc.getElementsByTagName("KISCOURSE"); 
for (i=0;i<x.length;i++) 

    { 
    document.write("<div class='CourseArea'><h3 id='CourseTitle'>"); 

    // TITLE 
    document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue); 
    document.write("</h3>"); 
    document.write("<p class='ForP'>-&nbsp;&nbsp;"); 
    document.write(x[i].getElementsByTagName("MODE")[0].childNodes[0].nodeValue);  
    document.write("</p><div class='clear'></div>"); 

    // UCAS CODE 
    document.write("<p id='ucascode'>"); 
    document.write("<b>UCAS CODE</b>&nbsp;&nbsp;&nbsp;"); 
    document.write(x[i].getElementsByTagName("UCASCOURSEID")[0].childNodes[0].nodeValue); 
    document.write("</p>"); 

    // READ MORE LIGHTBOX 
    document.write("<img src='<?php echo home_url(); ?>/wp-content/themes/blue-and-grey/images/info-icon.png' width='15' style='margin:0px 2px 0px -4px;' />"); 
    document.write("<a class='various' href='#ReadMore'>Read More</a>&nbsp;&nbsp;&nbsp;"); 

    // VISIT COURSE LINK 
    document.write("<a class='courselink' href='"); 
    document.write(x[i].getElementsByTagName("CRSEURL")[0].childNodes[0].nodeValue); 
    document.write("' target='_blank'>Visit course website</a>"); 
    document.write("</div>"); 

    } 

</script> 

回答

0

您可以繼續(跳到下一個循環迭代),如果標題丟失:

var x=xmlDoc.getElementsByTagName("KISCOURSE"); 
for (i=0;i<x.length;i++) 
{ 
    if(x.getElementsByTagName("TITLE").length == 0) continue; //this skips to the next. 

    document.write("<div class='CourseArea'><h3 id='CourseTitle'>"); 
相關問題