Ich habe ein XML, das mit jQuery analysiert werden muss. Ich verstehe, wie man die erste Ebene der Site Map Knoten bekommt, aber einige meiner Knoten sind 3 oder 4 Level tief. Ich kann nicht über Level 2 hinaus kommen. Hier ist mein XML und mein Code. Ich ermüde es, es in eine Liste auszugeben, um ein jQuery-Drop-down-Menü für eine der Websites, an denen ich gerade arbeite, zu erstellen. Bitte alle, die helfen können.Parse XML mit jQuery
<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++;
});
}
});
});