Here is my issue I have this jquery xml parsing issue. The funny thing is everything works accept the id keeps coming up as undefined. My question is what is causing the ID to be undefined? Which is not good! So here is my script.
$(document).ready(function() {
$.get('http://www.mytasteofitaly.com/menu/menu-1a.xml', function(data){
$(data).find('main').each(function(){
var $main = $(this);
var id = $main.attr('id');
var html = '<div class="mainmen" id="main_' + id + '">';
$('#menuitem').append($(html));
});
$(data).find('menu').each(function(){
var $menu = $(this);
var head = $menu.find('menuhead').text();
var html = '<table class="menus"><th><h1>' + head + '</h1></th>';
$('.mainmen').append($(html));
});
$(data).find('menuitem').each(function(){
var $menuitem = $(this);
var name = $menuitem.find('menuname').text();
var desc = $menuitem.find('menudesc').text();
var price = $menuitem.find('price').text();
var desprice = $menuitem.find('price2des').text();
var price2 = $menuitem.find('price2').text();
var html = '<tr class="menu_item">';
html += '<td class="h-menu">' + name + '</td>';
html += '<td class="d-menu">' + desc + '</td>';
html += '<td class="price">' + price + '</td>';
html += '<td class="desprice">' + desprice + '</td>';
html += '<td class="price2">' + price2 + '</td>' + '</tr>';
$('.menus').append($(html));
});
});
});
Here is my XML
<main>
<menu id="appet">
<menuhead>
Appetizers
</menuhead>
<menuitem>
<menuname>
Cheese Stick
</menuname>
<menudesc>
(6 Sticks)
</menudesc>
<price>
$7
</price>
<price2des>
</price2des>
<price2>
</price2>
</menuitem>
<menuitem>
<menuname>
Fried Mushrooms
</menuname>
<menudesc>
</menudesc>
<price>
$7
</price>
<price2des>
</price2des>
<price2>
</price2>
</menuitem>
<menuitem>
<menuname>
Fried Calamari
</menuname>
<menudesc>
</menudesc>
<price>
$9
</price>
<price2des>
</price2des>
<price2>
</price2>
</menuitem>
<menuitem>
<menuname>
Bruchetta
</menuname>
<menudesc>
</menudesc>
<price>
$10
</price>
<price2des>
</price2des>
<price2>
</price2>
</menuitem>
<menuitem>
<menuname>
Shrimp Bruchetta
</menuname>
<menudesc>
</menudesc>
<price>
$10
</price>
<price2des>
</price2des>
<price2>
</price2>
</menuitem>
<menuitem>
<menuname>
Garlic Bread
</menuname>
<menudesc>
</menudesc>
<price>
$3
</price>
<price2des>
With Cheese
</price2des>
<price2>
$4
</price2>
</menuitem>
<menuitem>
<menuname>
Soups
</menuname>
<menudesc>
(Minestrone or Pasta Fagioli) Cup
</menudesc>
<price>
$4
</price>
<price2des>
Bowl
</price2des>
<price2>
$6
</price2>
</menuitem>
<menuitem>
<menuname>
Zupa de Mussels
</menuname>
<menudesc>
</menudesc>
<price>
$7
</price>
<price2des>
</price2des>
<price2>
</price2>
</menuitem>
<menuitem>
<menuname>
Side Meatballs or Sausage or Alfredo Sauce
</menuname>
<menudesc>
</menudesc>
<price>
$4
</price>
<price2des>
</price2des>
<price2>
</price2>
</menuitem>
</menu>
</main>
And here is my HTML
<div id="Menuitem">
</div>
Here is a jsfiddle I setup http://jsfiddle.net/cornelas/MEgdw/
Much appreciated.
maintags don’t have an ID….menutags doEDIT: Problem with xml parsing loops
menuitemsare nested inmenuis nested inmainThis means that within the
eachof the ancestor you need to call the each of the children. Nested data means nested loops