使用javascript加载xml文件
当我试图打开包含javascript的HTML文件时,网页上不会打印任何内容。html代码中的脚本加载xml文件并尝试打印一些元素数据。 我已将代码粘贴到下面。遗憾的是,没有打印文件的数据。我使用过浏览器IE8和Chrome。请让我知道是什么问题使用javascript加载xml文件,javascript,html,xml,Javascript,Html,Xml,当我试图打开包含javascript的HTML文件时,网页上不会打印任何内容。html代码中的脚本加载xml文件并尝试打印一些元素数据。 我已将代码粘贴到下面。遗憾的是,没有打印文件的数据。我使用过浏览器IE8和Chrome。请让我知道是什么问题 <!DOCTYPE html> <html> <head> <script> function loadXMLDoc(dname)
<!DOCTYPE html>
<html>
<head>
<script>
function loadXMLDoc(dname)
{
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else
{
xhttp=new ActiveXObject("Microsoft.XMLDOM");
}
xhttp.open("GET",dname,false);
xhttp.send();
return xhttp.responseXML;
}
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("file:///E:/Parser/book.xml");
document.write(xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue + " <br>");
document.write(xmlDoc.getElementsByTagName("authors")[0].childNodes[0].nodeValue + "<br>");
</script>
</body>
</html>
函数loadXMLDoc(dname)
{
if(window.XMLHttpRequest)
{
xhttp=newXMLHttpRequest();
}
其他的
{
xhttp=新的ActiveXObject(“Microsoft.XMLDOM”);
}
xhttp.open(“GET”、dname、false);
xhttp.send();
返回xhttp.responseXML;
}
xmlDoc=loadXMLDoc(“file:///E:/Parser/book.xml");
document.write(xmlDoc.getElementsByTagName(“title”)[0].childNodes[0].nodeValue+“
”;
document.write(xmlDoc.getElementsByTagName(“作者”)[0]。childNodes[0]。nodeValue+“
”;
不能使用ajax打开本地文件
xmlDoc=loadXMLDoc("file:///E:/Parser/book.xml");
无法执行此操作,因为在web浏览器中运行的JavaScript无法访问本地文件系统。这将带来巨大的安全风险。它确实可以访问本地文件系统。问题是远程查看者无法访问其文件系统。请向我建议解决此问题的替代方案或可能的解决方案。我从W3C网站上得到了这段代码。感谢这些链接可以帮助您,@user2281107您可以指向XML文件的web URL。要使其正常工作,您可以使用名为http-server的npm包。在web浏览器上运行的javascript允许访问文件系统的唯一方法是通过
让用户知道该特定操作。如果以编程方式完成,它将无法访问文件系统。因为使用ActiveX,你肯定不会从Chrome中获得任何乐趣。有没有可能构建一个web服务来显示该XML文件?控制台中有没有错误?