User jQuery to get nested elements from XML
- by Dkong
I'm spinning my wheels on this. How do I get the values from the following nested elements from the XML below (I've also put my code below)? I am after the "descShort" value and then the capital "Last" and capital "change" :
<indices>
<index>
<code>DJI</code>
<exchange>NYSE</exchange>
<liveness>DELAYED</liveness>
<indexDesc>
<desc>Dow Jones Industrials</desc>
<descAbbrev>DOW JONES</descAbbrev>
<descShort>DOW JONES</descShort>
<firstActive></firstActive>
<lastActive></lastActive>
</indexDesc>
<indexQuote>
<capital>
<first>11144.57</first>
<high>11153.79</high>
<low>10973.92</low>
<last>11018.66</last>
<change>-125.9</change>
<pctChange>-1.1%</pctChange>
</capital>
<gross>
<first>11144.57</first>
<high>11153.79</high>
<low>10973.92</low>
<last>11018.66</last>
<change>-125.9</change>
<pctChange>-1.1%</pctChange>
</gross>
<totalEvents>4</totalEvents>
<lastChanged>16-Apr-2010 16:03:00</lastChanged>
</indexQuote>
</index>
<index>
<code>XAO</code>
<exchange>ASX</exchange>
<liveness>DELAYED</liveness>
<indexDesc>
<desc>ASX All Ordinaries</desc>
<descAbbrev>All Ordinaries</descAbbrev>
<descShort>ALL ORDS</descShort>
<firstActive>06-Mar-1970</firstActive>
<lastActive></lastActive>
</indexDesc>
<indexQuote>
<capital>
<first>5007.30</first>
<high>5007.30</high>
<low>4934.00</low>
<last>4939.40</last>
<change>-67.9</change>
<pctChange>-1.4%</pctChange>
</capital>
<gross>
<first>5007.30</first>
<high>5007.30</high>
<low>4934.00</low>
<last>4939.40</last>
<change>-67.9</change>
<pctChange>-1.4%</pctChange>
</gross>
<totalEvents>997</totalEvents>
<lastChanged>19-Apr-2010 17:02:54</lastChanged>
</indexQuote>
</index>
$.ajax({
type: "GET",
url: "stockindices.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('index').each(function(){
var self = $(this);
var code = self.find('indexDesc');
$(code).find('indexDesc').each(function(){
alert(self.find('descShort').text());
});
$('<span class=\"tickerItem\"></span>').html(values[0].text()).appendTo('#marq');
});
}
});