2013-10-21 52 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); 
} 
相關問題