2011-06-22 60 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