Javascript 从XML获取元素的问题

Javascript 从XML获取元素的问题,javascript,ajax,xml,Javascript,Ajax,Xml,我试图从XML文件中检索一些数据,并希望将其插入无序列表中。这就是我的Ajax代码的样子: var request; //For backward compatibility if(window.XMLHttpRequest){ request = new XMLHttpRequest(); }else{ request = new ActiveXObject("Microsoft.XMLHTTP"); } request.open('GET','data.xml'); requ

我试图从XML文件中检索一些数据,并希望将其插入无序列表中。这就是我的Ajax代码的样子:

var request;
//For backward compatibility
if(window.XMLHttpRequest){
    request = new XMLHttpRequest();
}else{
    request = new ActiveXObject("Microsoft.XMLHTTP");
}
request.open('GET','data.xml');
request.onreadystatechange = function(){
    // if((request.readyState === 4) && (request.Status===200)){
        console.log(request.responseXML);
        var items = request.responseXML.getElementByTagName('name');
        alert('hello');
        var ouptput = '<ul>';
        for (var i = 0; i >= items.length; i++) {
            output += '<li>' + items[i].firstChild.nodeValue + '</li>';
        }
        output += '</ul>';
        document.getElementById('update').innerHTML = output;
    //} 
}
request.send();
var请求;
//用于向后兼容性
if(window.XMLHttpRequest){
请求=新的XMLHttpRequest();
}否则{
请求=新的ActiveXObject(“Microsoft.XMLHTTP”);
}
open('GET','data.xml');
request.onreadystatechange=函数(){
//if((request.readyState==4)和&(request.Status==200)){
console.log(request.responseXML);
var items=request.responseXML.getElementByTagName('name');
警惕(“你好”);
变量输出=“
    ”; 对于(变量i=0;i>=items.length;i++){ 输出+='
  • '+项[i].firstChild.nodeValue+'
  • '; } 输出+='
'; document.getElementById('update').innerHTML=output; //} } request.send();
这段代码没有读取我的XML文件,它给了我一个错误,告诉我
'Response XML is null(Type error)
我试图在服务器(localhost)中使用它,但它也不起作用


有人能告诉我怎么解决这个问题吗?谢谢。

我用jQuery解决了这个问题。。。我就是这样做的

<script>
    $(document).ready(function(){
      $(".update").append("<ul></ul>");
      $.ajax({
        type: "GET",
        url: "data.xml",
        dataType: "xml",
        success: function(xml){
        $(xml).find('book').each(function(){
          var sTitle = $(this).find('title').text();
          var sprice = $(this).find('price').text();
          $("<li></li>").html(sTitle + ", " + sprice).appendTo(".update ul");
        });
      },
      error: function() {
        alert("An error occurred while processing XML file.");
      }
      });
    });

</script>

$(文档).ready(函数(){
$(“.update”)。追加(“
    ”); $.ajax({ 键入:“获取”, url:“data.xml”, 数据类型:“xml”, 成功:函数(xml){ $(xml).find('book').each(函数(){ var sTitle=$(this.find('title').text(); var sprice=$(this.find('price').text(); $(“
  • ”)html(sTitle+”,“+sprice).appendTo(“.update ul”); }); }, 错误:函数(){ 警报(“处理XML文件时出错。”); } }); });
    你能给我们提供你的Xml吗?为什么
    如果((request.readyState==4)和&(request.Status==200)){
    被注释掉了?