2014-10-16 67 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;