Я пытаюсь создать анализатор XML, но у меня возникают проблемы с загрузкой локальных файлов.
Проблема в том, что при попытке загрузить с локального диска он все равно будет искать файл в том же домене. И ошибка, которую я получаю, такова.
Failed to load resource: the server responded with a status of 404 (Not Found) http://fiddle.jshell.net/Users/username/Documents/catalog.xml
HTML / JS: (http://jsfiddle.net/5dfhz40j/)
<!DOCTYPE html>
<html>
<style>
table,th,td {
border : 1px solid black;
border-collapse: collapse;
}
th,td {
padding: 5px;
}
</style>
<body>
<button type="button" onclick="loadDoc()">Load</button>
<br><br>
<table id="myTable"></table>
<script>
function loadDoc() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
xmlFunction(this);
}
};
xhttp.open("GET", "/Users/username/Documents/catalog.xml", true);
xhttp.send();
}
function xmlFunction(xml) {
var i;
var xmlDoc = xml.responseXML;
var table="<tr><th>Category</th><th>Title</th></tr>";
var x = xmlDoc.getElementsByTagName("ITEM");
for (i = 0; i <x.length; i++) {
table += "<tr><td>" +
x[i].getElementsByTagName("CATEGORY")[0].childNodes[0].nodeValue +
"</td><td>" +
x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue +
"</td></tr>";
}
document.getElementById("myTable").innerHTML = table;
}
</script>
</body>
</html>
XML-файл:
<?xml version="1.0" encoding="UTF-8"?>
<CATALOG>
<ITEM>
<TITLE>TITLE01</TITLE>
<CATEGORY>CAT01</CATEGORY>
<ID>ID01</ID>
</ITEM>
<ITEM>
<TITLE>TITLE02</TITLE>
<CATEGORY>CAT02</CATEGORY>
<ID>ID02</ID>
</ITEM>
<ITEM>
<TITLE>TITLE03</TITLE>
<CATEGORY>CAT03</CATEGORY>
<ID>ID03</ID>
</ITEM>
<ITEM>
<TITLE>TITLE04</TITLE>
<CATEGORY>CAT04</CATEGORY>
<ID>ID04</ID>
</ITEM>
<ITEM>
<TITLE>TITLE05</TITLE>
<CATEGORY>CAT05</CATEGORY>
<ID>ID05</ID>
</ITEM>
</CATALOG>
Ожидаемый результат:
![enter image description here](https://i.stack.imgur.com/T8u32.png)