2011-06-22 62 views
0

如何遍歷未知結構的XML文檔,以便使用jQuery在每個節點上執行操作?使用jQuery遍歷XML文檔的所有節點

我正在尋找某種遞歸函數,我可以訪問每個節點,檢查子節點並重復。

+0

Yarin: 會[這](http://stackoverflow.com/questions/1574113/looping-through-xml-with -jquery)是你的答案嗎?編輯:查看用戶meder對未指定深度或標題的節點的回答。 – ericb

+0

同意! +1給maenu。 – ericb

+0

儘管這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 –

回答

4

你在找什麼基本上是depth-first-search。你可以做這樣的事情:

var depthFirstTraversal = function($root, callback) { 
    $root.children().each(function() { 
     depthFirstTraversal($(this), callback); 
    }); 
    callback($root); 
}; 
depthFirstTraversal($(selector), function($node) { 
    // do stuff with $node 
}); 

編輯:由小提琴here

+0

@ maenu-偉大的答案和示例 - 謝謝! – Yarin

0
<script> 
var xml = "<xml></xml>"; 
$("#xml").html(xml); 
</script> 
<div id="xml"></div> 
+0

@ Peter-我的問題不好 - 看看我的編輯:我需要能夠訪問每個單獨的節點,而不僅僅是將所有東西轉儲到html – Yarin