2014-10-16 65 views
1

我試圖獲取XML文件的值,並在Java腳本代碼中使用它。 我有簡單的代碼是這樣的:如何獲得XML的值

xmlhttp=new XMLHttpRequest(); 
xmlhttp.open("GET","data/names.xml",false); 
xmlhttp.send(); 
xmlDoc=xmlhttp.responseXML; 
var speed_multiplier=xmlDoc.getElementsByTagName("speed"); 
document.getElementById("console").innerHTML=speed_multiplier[0]; 

與XML的結構是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<root> 
    <speed>5</speed> 
</root> 

,但它在HTML顯示[object Element]。我必須改變,所以它會在內部顯示值,所以我可以稍後在js腳本中使用它?

回答

0

如果使用getElementByTagName('speed')[0],結果將是一個元素:標記名稱爲<speed>的第一個元素。

你需要的是該元素的textContent,所以正確的代碼是:

var xmlhttp = new XMLHttpRequest(); 
xmlhttp.open("GET", "data/names.xml"); 
xmlhttp.send(); 
var xmlDoc = xmlhttp.responseXML, 
    speed_multiplier = xmlDoc.getElementsByTagName("speed")[0].textContent; 
// here is what you need ^^ 
// now speed_multiplier is "5" 
document.getElementById("console").innerHTML = speed_multiplier;