jQuery.ajax解析XML

3

我正在尝试使用jQuery的ajax函数获取XML文件的内容。


$(document).ready(function(){
        $.ajax({
              url: 'facts.xml',
              dataType: 'xml',
              success: parseXML
        });
        function parseXML(xml){
              alert(xml.toSource());
              //...
        }
}

facts.xml 很简单:


<?xml version="1.0" encoding="utf-8"?>
<axiom>
  <sentence>
      <part>something</part>
  </sentence>
</axiom>

当我在火狐浏览器中运行它时,警告给出了“({})”的结果。我一直试图找出我的错误所在,但是我无法弄清楚。有人能帮我吗?
非常感谢!
2个回答

4

toSource 旨在为您提供有关问题对象的 JavaScript 源代码的等效内容,但它不能并且不适用于任何对象。尝试向 DOM 对象请求其他内容,例如 .documentElement.tagName


谢谢您的快速回复!我尝试了类似于 $(xml).find('part').text() 的方法,现在它可以正常工作了 ;) - Eagle

3
我认为您可能需要类似这样的东西。
$(document).ready(function(){
    $.ajax({
        url: 'facts.xml',
        dataType: 'xml',
        success: function(responseXML) {
            alert($(responseXML).text());
        }
    });
}  

我认为alert(responseXML)只会显示"[object XMLDocument]",而不会真正显示xml文件的内容。 - Eagle
.html() 不适用于 XML,请参见 http://api.jquery.com/html/,.text() 可以使用。 - Eagle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接