Ho scritto questo codice per caricare dati in un oggetto da xml tramite l'oggetto ajax di jQuery:
Di seguito l'xml che ho tentato di fornirgli:codice:$(document).ready(function() { var desktop=Desktop("../config/desktop.xml"); }); //TODO Desktop object Desktop=function(xmlConfig){ var icons=null; function loadIcons(xml) { var foundIcons=new Array(); //Finds every Icon occurrence into xml config file and loads them as Icon objects into foundIcons collection array $(xml).find("Icon").each(function() { foundIcons.push(Icon($(this))); }); //Load icons into Desktop object's icon array icons=foundIcons; } //Init desktop $.ajax({ type: "GET", url: xmlConfig, dataType: "xml", success: function(xml) { loadIcons(xml); } }); }; //Icon Object (module pattern model) Icon=function(iconXMLEntry){ var id=iconXMLEntry.attr('id'); var title=iconXMLEntry.find('title').text(); var image=iconXMLEntry.find('image').text(); var position=iconXMLEntry.find('position').text(); alert(title); }
Sostanzialmente per ogni oggetti Icon mi legge dall'xml soltanto l'id e non vede gli altri valori.codice:<?xml version="1.0" encoding="utf-8" ?> <Icons> <Icon id="01"> <title>Scrum Sprinter</title> <image>scrum.png</image> <position>20,30</position> </Icon> <Icon id="02"> <title>Stick it!</title> <image>stickit.png</image> <position>20,90</position> </Icon> <Icon id="03"> <title>Net paper</title> <image>netpaper.png</image> <position>20,150</position> </Icon> <Icon id="04"> <title>Net Documents</title> <image>netdocuments.png</image> <position>20,210</position> </Icon> </Icons>
Non credo sia un problema di scope perchè il metodo .attr() per l'id viene chiamato correttamente.
Chi saprebbe aituarmi.
Il progetto è hostato su google code ed è open source:
jsCommonWorkspace

Rispondi quotando