我想解析一個簡單的xml文檔,在JS中使用DOM解析器,但解析器無法加載文件。我使用受歡迎的網站中的示例,我認爲這會起作用。JavaScript中的DOM解析器(不使用web服務器測試)
我所有的文件都存儲在本地compter中(不使用web服務器...使用file:///而不是http://)。
我的代碼是
<html>
<head>
</head>
<body>
<script>
<script type="text/javascript">
if (window.XMLHttpRequest)
{
xhttp=new XMLHttpRequest();
}
else // IE 5/6
{
xhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET","chinese.xml",false);
xhttp.send();
xmlDoc=xhttp.responseXML;
x=xmlDoc.documentElement.childNodes;
for (i=0;i<x.length;i++)
{
document.write(x[i].nodeName);
}
</script>
</body>
</html>
我的兩個HMTL和XML文件位於同一文件夾中。我不明白爲什麼這不工作
XML文件
<!DOCTYPE menu SYSTEM "chinese.dtd">
<menu>
<dish>
<name>Chicken Sweetcorn Soup</name>
<price>1.60</price>
</dish>
<dish>
<name>Spring Roll</name>
<price>1.50</price>
</dish>
<dish>
<name>Special Satay</name>
<ingredients>King Prawn, Chicken, Beef with Vegetables</ingredients>
<price>4.50</price>
</dish>
<dish>
<name>Barbecued Spare Ribs</name>
<price>3.99</price>
</dish>
<dish>
<name>Sweet and Sour Pork</name>
<style>Cantonese</style>
<price>4.49</price>
</dish>
</menu>
我沒有看到任何嘗試在這裏解析任何東西。如果你使用本地文件系統,那麼你的瀏覽器可能會阻止XHR運行,因爲它不認爲你的本地文件系統是可信的。 – Pointy
@ R.S也許IE與這無關......該代碼會在任何瀏覽器中做同樣的事情 – Pointy
是的,我認爲是一樣的。我相信我非常基本的一些東西,但我是DOM新手,我看不到這是什麼。我正在使用Chrome瀏覽器 – mariosk89