Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何获取XML的值_Javascript_Html_Xml - Fatal编程技术网

Javascript 如何获取XML的值

Javascript 如何获取XML的值,javascript,html,xml,Javascript,Html,Xml,我试图获取XML文件的值,并在Java脚本代码中使用它。 我有这样简单的代码: xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET","data/names.xml",false); xmlhttp.send(); xmlDoc=xmlhttp.responseXML; var speed_multiplier=xmlDoc.getElementsByTagName("speed"); document.getElementById("console"

我试图获取XML文件的值,并在Java脚本代码中使用它。 我有这样简单的代码:

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 version="1.0" encoding="UTF-8"?>
<root>
    <speed>5</speed>
</root>
使用如下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 version="1.0" encoding="UTF-8"?>
<root>
    <speed>5</speed>
</root>
但它在html中显示[object Element]。我必须更改的是,它将在其中显示值,以便稍后在js脚本中使用它?

如果使用getElementByTagName'speed'[0],结果将是一个元素:第一个具有标记名的元素

您需要的是该元素的文本内容,因此正确的代码是:

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;