2013-10-21 26 views
0

下面的工作,但它似乎应该有一个快捷方式或更简单的方法来找到所需的XML节点除嵌套.each循环以外的属性。在那儿?更简单的方法来.find嵌套的XML节点?

缩XML:

<year> 
    <month id="January"> 
    <day id="1" /> 
    <day id="2" /> 
    <day id="3"> 
     <hour id="1">Stack Overflow</hour> 
    </day> 
    </month> 
</year> 

的Javascript:

$.ajax({ 
    type: "GET", 
    url: "xmlTest.xml", 
    dataType: "xml", 
    success: parseXml 
}); 

function parseXml(xml) { 
    $(xml).find("month[id='January']").each(function() { 
    $(this).find("day[id='1']").each(function() { 
     $("#output").html($(this).find("hour[id='1']").text()); 
    }); 
    }); 
} 

任何帮助是极大的赞赏。

+0

完美!非常感谢你。我知道必须有一种方式,但找不到拯救我生命的榜样。 – Frankenscarf

+0

跟进问题。我该怎么做,但通过索引而不是ID获得月份? .find('month.eq(i)day [id =“1”] ...)似乎不起作用。 – Frankenscarf

回答

0

试试这个:

function parseXml(xml){ 
    var text = $(xml).find('month[id="January"] day[id="1"] hour[id="1"]').text(); 
    $("#output").html(text); 
} 
相关问题