使用javascript读取本地XML文件并在html页面中显示
问题描述:
我想通过javascript读取xml文件并将其显示在HTML页面中。使用javascript读取本地XML文件并在html页面中显示
我正在使用以下代码。
function readxml() {
alert("calledreadxml");
var myXML, studentnode;
myXML= document.all("config.xml").XMLDocumentalert(myXML);
studentnode = myXML.documentElement
var string;
var nxtnode;
while(nxtnode)
{
string = "the value of "+nxtnode.nodeName+"is :"+ nxtnode.nodeValue+"\n";
nxtnode = myXML.nextSibling;
}
}
这个代码是NT工作..任何人都可以请帮助
答
<script type="text/javascript">
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", "Images-Info.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
var x = xmlDoc.getElementsByTagName("Image_Store");
for (i = 0; i < x.length; i++)
{
var type = x[i].getElementsByTagName("Image_Type")[0].childNodes[0].nodeValue;
var title = x[i].getElementsByTagName("Image_Title")[0].childNodes[0].nodeValue;
var des = x[i].getElementsByTagName("Image_Description")[0].childNodes[0].nodeValue;
var ph = x[i].getElementsByTagName("Image_Photo")[0].childNodes[0].nodeValue;
var thm = x[i].getElementsByTagName("Thumbnail_Photo")[0].childNodes[0].nodeValue;
// Ul1.innerHTML = Ul1.appendChild("<li><div><a href=\"" + ph + "\" \><img src=\"" + thm + "\" \/></a><p>" + title + "</p></div><div class=\"data\"><div><h1>" + title + "</h1>" + des + "</div></div></li>");
document.write("<li>");
document.write("<div>");
document.write("<a href=\"" + ph + "\" \>");
document.write("<img src=\"" + thm + "\" \/>");
document.write("</a>");
document.write("<p>");
document.write(title);
document.write("</p>");
document.write("</div>");
document.write("<div class=\"data\">");
document.write("<div>");
document.write("<h1>");
document.write(title);
document.write("</h1>");
document.write(des);
document.write("</div>");
document.write("</div>");
document.write("</li>");
}
</script>
好吧,既然你不能用JavaScript读取本地文件,你可能要在这里是出于运气。另外document.all是一种获取DOM节点的IE方式,而不是读取文件。什么是XMLDocumentalert? – aquinas
有一些[新东西](http://www.html5rocks.com/en/tutorials/file/dndfiles/),可以让你这样做。读完文件后,请查看全局对象DOMParser和XMLSerializer。 – batzkoo
请详细说明“不能工作”。这是不足的信息。另外,我强烈建议使用像jQuery这样的库。噢,正如@aquinas所说,不要使用'document.all':它在大多数浏览器中都不起作用。 – Spudley