2013-09-17 5 views
0

Я использую учебное пособие для чтения локального xml-файла. Однако я не получаю никаких результатов. Код я использую:чтение xml-файла в javascript

<!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-файл [test.xml]]

<?xml version="1.0"?> 
    <movies> 
<to>We're the millers</to> 
<from>2012</from> 
<body>2012</body> 
</movies> 

кто-нибудь пожалуйста, скажите мне, что я делаю неправильно?

ответ

0

Вам нужно развернуть свои два файла на какой-то http-сервер.
Ajax-вызов не может получить доступ к локальной файловой системе из-за проблемы безопасности.
после их развертывания, вы должны проверить, как: http://localhost/test.html

2-ая проблема в том, что вам нужно, чтобы удалить голову XML, в противном случае они будут относиться к браузеру test.xml как текст не XML.

<movies> 
    <to>We're the millers</to> 
    <from>2012</from> 
    <body>2012</body> 
</movies> 
Смежные вопросы