我會保持這個很短的: 我試圖通過一個xml文檔爲圖庫進行循環。我得到了一個應該可以工作的腳本,但沒有。任何人都可以告訴我我做錯了嗎?javascript xml reader
我不想讓這個更長,因爲問題很簡單,並且從昨天開始一直在思考這個問題,這是我最接近的。
我想循環訪問xml文件並首先打印出「路徑」和「文件」。我正在構建一個庫,並認爲保存圖像的所有數據的最佳方式是一個xml文件,但現在我無法使其正確循環。在腳本中,我將頁面打印出x和i,結果是x爲1,我爲0,因此它沒有像我看到的那樣完成for循環。
任何幫助將不勝感激,因爲我卡住了。一直在嘗試這麼多的解決方案,我的腦袋正在旋轉,如果沒有朝着正確的方向輕推,我就無法繼續前進。
的HTML/JavaScript的:
<script type="text/javascript">
function displayResult()
{
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","../gallery/gallery.xml",false);
xmlhttp.send();
xmlDoc=xmlhttp.responseXML;
x=xmlDoc.getElementsByTagName("session");
for (i=0;i<x.length;i++)
{
img = "<img src='";
path = (x[0].getElementsByTagName("path")[0].childNodes[0].nodeValue);
file = (x[i].getElementsByTagName("file")[i].childNodes[0].nodeValue);
end = "' /><br />";
name = (x[i].getElementsByTagName("name")[i].childNodes[0].nodeValue);
txt = "x:" + x.length + "| i " + i + "<br />" + img + path + file + end + name + "<br />";
document.getElementById("content").innerHTML = txt;
//document.write(txt);
}
}
</script>
</head>
<body onload="displayResult()">
<div id='content'></div>
</body>
</html>
XML文件:
<gallery>
<session>
<path>../gallery/beauty/</path>
<item>
<file>_DSC2331.jpg</file>
<name>Picture 1</name>
</item>
<item>
<file>_DSC2339.jpg</file>
<name>Picture 2</name>
</item>
<item>
<file>_DSC2350.jpg</file>
<name>Picture 3</name>
</item>
<date>2011-08-03</date>
</session>
</gallery>
這有點太*太短。你可以給更多的方向嗎?也許有任何錯誤或怪異的行爲?不太可能你會得到很多關注,說「修復我的代碼」。 這是幹什麼的? –
不知道發生了什麼,你期望什麼? – tomdemuyt
你必須告訴我們它是如何工作的。 XHR不工作? getElementsByTagName搜索不起作用嗎?內容更新是否無效? –