我正在使用教程来读取本地xml文件。但是,我没有得到任何结果。我正在使用的代码是:
<!DOCTYPE html>
<html>
<body>
<h1>W3Schools Internal Note</h1>
<div>
<b>To:</b> <span id="to"></span><br>
<b>From:</b> <span id="from"></span><br>
<b>Message:</b> <span id="message"></span>
</div>
<script>
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","test.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
document.getElementById("to").innerHTML=
xmlDoc.getElementsByTagName("to")[0].childNodes[0].nodeValue;
document.getElementById("from").innerHTML=
xmlDoc.getElementsByTagName("from")[0].childNodes[0].nodeValue;
document.getElementById("message").innerHTML=
xmlDoc.getElementsByTagName("body")[0].childNodes[0].nodeValue;
</script>
</body>
</html>
[xml file [test.xml]]
<?xml version="1.0"?>
<movies>
<to>We're the millers</to>
<from>2012</from>
<body>2012</body>
</movies>
有人请告诉我我做错了什么?
答案 0 :(得分:0)
您需要将两个文件部署到某个http服务器中
由于安全问题,Ajax调用无法访问本地文件系统
在部署它们之后,您应该测试:http://localhost/test.html
第二个问题是您需要删除xml头,否则浏览器会将test.xml视为文本而不是xml。
<movies>
<to>We're the millers</to>
<from>2012</from>
<body>2012</body>
</movies>