检索 XML 文件 (JavaScript)

Retrieve an XML file (JavaScript)

本文关键字:JavaScript 文件 XML 检索      更新时间:2023-09-26

我在W3Schools上找到了这段代码并对其进行了改进,最后它变成了这样:

    function LoadXML(){
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
  try{
xmlhttp.open("GET","file.xml",false);
    alert("first place");
xmlhttp.send();
    alert("2nd place");
}
catch(err){
alert(err.message);
}
xmlDoc=xmlhttp.responseXML; 
document.write("<table><tr><th>Artist</th><th>Title</th></tr>");
var x=xmlDoc.getElementsByTagName("CD");
for (i=0;i<x.length;i++)
  { 
  document.write("<tr><td>");
 alert( document.write(x[i].getElementsByTagName("ARTIST")[0].childNodes[0].nodeValue));
  document.write("</td><td>");
 alert( document.write(x[i].getElementsByTagName("TITLE")[0].childNodes[0].nodeValue));
  document.write("</td></tr>");
  }
document.write("</table>");
}

此代码可在 :W3School 代码中找到

但是当我想在我自己的 PC 上运行这段代码时,尝试和捕获块中会发生错误!它显示"无法加载"文件.xml"。当我搜索此错误时,此链接中的一个主题是错误的原因,因此似乎我无法在自己的PC中做这样的事情,因为它使用http并且需要服务器或本地主机。

但是这段代码是针对我类中的一个项目,其中一个场景是(检索 XML 文件的元素并在我的 HTML 页面上显示其内容)!

我相信他们会在自己的 PC 上测试该程序 .

那么谁能解释一下在PC中完成这种情况的方法?!

注意:目标浏览器是IE 8.0

提前致谢

Xmlhttprequest被Google Chrome弃用。它与其他浏览器的用户体验也很差。接下来,在大多数情况下,它不适用于外部 xml 文件。因此,我建议不要使用它。相反,请使用 $.ajax。此外,使用 document.getElementById 而不是 document.write 可能会更好。但是,这取决于您。这样的事情应该有效:

$.ajax
    ({
      type: "GET",
      url: "file.xml",
      dataType: "xml",
      success: xmlParser // call function
    });
function xmlParser(xml) 
{
  HTML = "<table><tr><th>Artist</th><th>Title</th></tr>";
  var x=$(xml).find("CD");
  for (i=0;i<x.length;i++)
  { 
    HTML += "<tr><td>";
    HTML += i+1;
    HTML += "</td><td>";
    HTML += $(x[i]).find("artist").text()
    HTML += "</td><td>";
    HTML += $(x[i]).find("title").text()
    HTML += "</td></tr>";
  }
  HTML += "</table>";
  document.getElementById("yourdiv").innerHTML = HTML;        
} // function xmlParser(xml)