使用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工作..任何人都可以请帮助

+0

好吧,既然你不能用JavaScript读取本地文件,你可能要在这里是出于运气。另外document.all是一种获取DOM节点的IE方式,而不是读取文件。什么是XMLDocumentalert? – aquinas

+0

有一些[新东西](http://www.html5rocks.com/en/tutorials/file/dndfiles/),可以让你这样做。读完文件后,请查看全局对象DOMParser和XMLSerializer。 – batzkoo

+0

请详细说明“不能工作”。这是不足的信息。另外,我强烈建议使用像jQuery这样的库。噢,正如@aquinas所说,不要使用'document.all':它在大多数浏览器中都不起作用。 – Spudley

<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> 
+4

请格式化您的答案..这是荒谬的 – Rob

+0

这是吗?没有上下文... – anu