如何使用xmlhttp读取本地xml文件

时间:2015-06-18 15:59:28

标签: javascript xml

我在本地计算机上保存了一个XML文件,我想通过javascript阅读它。以下是我的本地xml路径D:\user\xml\test1.xml

<script>
  if (window.XMLHttpRequest)
   {
      xmlhttp=new XMLHttpRequest();
   }
  else
  {
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 xmlhttp.open("GET","file///D:/user/xml/test1.xml",true);
 xmlhttp.send();
 xmlDoc=xmlhttp.responseXML;
 alert(xmlDoc);
 </script>

我发现警报没有回复。我是XML的新手,现在正在学习编码。我的系统路径规范是否正确?如何检查我的请求是否打开xml文件并读取输入?

2 个答案:

答案 0 :(得分:1)

首先,您执行了file///...而不是file:///...,这可能是您的一个问题。
但是,更重要的是,我发现使用javascript xmlhttprequest本地文件是不可能的,因为这将是一个主要的安全风险

我能为您考虑的唯一解决方案是,如果您在rails或其他东西上编写带有nodejs或ruby的服务器,并让服务器读取该文件并在该服务器上创建包含该文件内容的页面。然后,您可以向该页面发送xmlhttp请求

编辑:我忘了HTML5中有一个File API(感谢Zack指出这一点)。您可以使用它来读取xml文件,然后解析它。有关如何解析xml的信息,请参阅this page

答案 1 :(得分:-3)

尝试将要读取的XML文件获取到项目文件夹中,并以../data形式访问。