如何获得在XML树中的特定节点使用jQuery

问题描述:

我有下面的XML文件:如何获得在XML树中的特定节点使用jQuery

<?xml version="1.0" encoding="iso-8859-1"?> 
<words> 
    <word> 
     <id>1</id> 
     <name>Teacher</name> 
    </word> 
    <word> 
     <id>2</id> 
     <name>Pitcher</name> 
    </word> 
</words> 

而下面的jQuery代码:

$.ajax({ 
    type: "GET", 
    url: "sites.xml", 
    dataType: "xml", 
    success: function(xml) { 
     $(xml).find('word').each(function(){ 

     ... 

}); 

我怎样才能用这个词== ID 1?

此ajax功能位于另一个功能(getWord()功能)内。我想用任何ID获得单词并将该值分配给getWord()函数的局部变量。

我该怎么做?

$(xml).find('word').each(function(){ 

     if(parseInt($(this).find('id').text()) == '1') 
{ 

     // your logic here 
} 
}); 

你总是可以诉诸写一个自定义过滤器。

$(xml).find("word").filter(function() { 
    return $(this).find("id").text() == "1"; 
}).each(function() { 
    console.log(this); 
}); 
+0

感谢您的回答。我还有一个问题:我怎样才能得到'getWord()'父函数中返回的单词。 – VansFannel 2011-05-30 13:41:35

+1

@VansFannel:你不行。把你的下一步放到'成功'回调中。 – Tomalak 2011-05-30 13:48:16