2011-03-13 45 views
3

我想使用jQuery的ajax函數獲取xml文件的內容。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> 

當我在Firefox中運行它,警報給了我 「({})」。我一直試圖找出我做錯的地方,但我無法弄清楚。任何人都可以給我一些幫助嗎?

非常感謝!

回答

4

toSource應該給你相當於所討論對象的JavaScript源代碼,但它不能也不適用於任何對象。嘗試向DOM對象請求其他內容,例如.documentElement.tagName

+0

感謝您的快速響應!我嘗試了像$(xml).find('part')。text()然後它工作正常;) – 2011-03-13 04:49:23

3

我想你可能想要這樣的東西。

$(document).ready(function(){ 
    $.ajax({ 
     url: 'facts.xml', 
     dataType: 'xml', 
     success: function(responseXML) { 
      alert($(responseXML).text()); 
     } 
    }); 
} 
+0

我認爲警報(responseXML)只是給「[對象XMLDocument]」,但並沒有真正顯示內容的xml文件。 – 2011-03-13 04:46:52

+0

編輯顯示內容。 – wilbbe01 2011-03-13 04:48:26

+0

.html()不適用於XML,但請參閱http://api.jquery.com/html/,.text()會很好。 – 2011-03-13 05:00:04