I have an XML that needs to be parsed using jQuery. I understand how to get the first level of site map nodes but some of my node are 3 or 4 levels deep. I can't seem to get past 2 level. Here is my XML and my code. I am tiring to output it to a list to be able to do a jQuery drop down on hover for one of the sites I'm working on. Please anyone who can help.
<siteMapNode url="#" title="root" description="">
<siteMapNode url="http://qswebdev02:2010/Category/4-gear.aspx" title="Gear" description="Gear">
<siteMapNode url="http://qswebdev02:2010/Category/5-snow.aspx" title="Snow" description="Snow">
<siteMapNode url="http://qswebdev02:2010/Category/6-bags.aspx" title="Bags" description="Bags" />
</siteMapNode>
<siteMapNode url="http://qswebdev02:2010/Category/7-surf.aspx" title="Surf" description="Surf">
<siteMapNode url="http://qswebdev02:2010/Category/8-towels.aspx" title="Towels" description="Towels" />
</siteMapNode>
</siteMapNode>
</siteMapNode>
-
$(document).ready(function () {
$.ajax({
url: 'nav.xml',
type: 'GET',
dataType: 'xml',
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('Error: ' + textStatus + ", " + errorThrown);
},
success: function (xml) {
var count = 0;
$(xml).find('siteMapNode').each(function (e) {
//category
var url = $(this).attr('url');
var title = $(this).attr('title');
var descr = $(this).attr('description');
var image = $(this).attr('image');
var listItems = '<li id="parent"><a href="' + url + '">' + title + '</a></li>';
if ($(this).children()) {
$(this).children().each(function (n) {
var suburl = $(this).attr('url');
var subtitle = $(this).attr('title');
var subdescr = $(this).attr('description');
var target = $(this).attr('target');
listItems += '<li id="' + subtitle + '" style="margin-left: 15px;"><a href="' + suburl + '" target="' + target + '" >' + subtitle + '</a></li>';
});
}
$(listItems).appendTo('#list');
count++;
});
}
});
});