我想用Javascript打开一个本地XML文件,在我的HTML页面上创建一个表格的XML内容。因此,如果单击特定标记,我已编写以下javascript代码来打开XML文件。
function BuildTemplate(path) {
var xmlhttp;
if (window.XMLHttpRequest) {//Code for IE7+, Firefox, Chrome
xmlhttp = new XMLHttpRequest();
} else {//Code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", path, false); // -> NS_ERROR_UNKNOWN_PROTOCOL
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
// ... generate text [table] out of XML content
return text;
传递给函数的路径如下所示:
D://Here//Is//My//Example//Folder//ContentTable.xml
错误已经在Firefox上引发,但它也无法在Chrome和IE11上运行。
提前致谢。
答案 0 :(得分:0)
首先,它可能是一个安全问题,因此现代浏览器可能不支持访问本地文件。
但您可以尝试在路径前添加file:///
:
首先将//
中的/
替换为path
:
path = path.replace(new RegExp('//', 'g'), '/'); //replace all occurances
这会将D://Here//Is//My//Example//Folder//ContentTable.xml
更改为D:/Here/Is/My/Example/Folder/ContentTable.xml
然后预备file:///
:
path = 'file:///' + path;