2012-03-01 62 views
0

正在尋找一個JavaScript,它將加載一個xml文件,並將顯示類似矩形的內容,其中包含基於xml子節點的鏈接,鏈接到子節點的父節點以及鏈接到節點的子節點。我將如何能夠做到這一點?如何鏈接一個xml文件與幾個節點和子節點?

+0

這應該輸出一些東西,因爲這張照片 - > http://development4.sytes.net/html5.jpg – user1243360 2012-03-01 18:00:38

回答

0

您可以使用AJAX完成此操作。

首先,創建將您的XML文件中提取信息的功能:

function loadXMLdoc(url) { 
    var ajaxRequest; 
    try { 
    // Opera 8.0+, Firefox, Safari 
    ajaxRequest = new XMLHttpRequest(); 
    } catch(e) { 
    // Internet Explorer Browsers 
    try { 
     ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch(e) { 
     try { 
    ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
     } catch(e) { 
     // Something went wrong 
    alert("Your browser broke!"); 
    return false; 
     } 
    } 
    } 
    // Create a function that will receive data sent from the server 
    ajaxRequest.onreadystatechange = function() { 
    if (ajaxRequest.readyState === 4) { 
    if (ajaxRequest.status === 200) { 
     // a hidden div to display the result 
    var result = document.getElementById('result'); 
    result.style.display = 'block'; 
    result.innerHTML = ajaxRequest.responseText; 
    } else { 
    result.innerHTML = 'An error has occurred making the request'; 
    } 
    } 
    ajaxRequest.open("GET", url, true); 
    ajaxRequest.send(); 
    }; 
} 

從這裏,你就可以從你的XML文件抓取數據。裏面你if (ajaxRequest.status === 200) { }聲明,你就可以開始打電話元素:

var elem = ajaxRequest.responseXML.getElementById('elem'); 
var parents = elem.parentNodes; 
var children = parents.childNodes; 

這是給你,你想究竟如何格式化這個,什麼數據你抓住,但是這應該是你一個很好的起點。

+0

感謝您的反饋提示反病毒試試看。 – user1243360 2012-03-01 22:14:13

+0

不客氣。我意識到需要付出很多努力,但AJAX功能非常強大,並且是訪問帶有JavaScript的XML文件的最佳方式。 – 2012-03-02 14:34:06

相關問題