Itek Developer

Programmare è arte

Leggere dati da file xml con jquery

In questo articolo vi mostrerò come leggere i dati da un file XML con l’utilizzo della libreria jquery. In questo modo vi basterà caricare nel vostro progetto la sola libreria jquery e non avrete quindi bisogno di una usare nessun tipo di linguaggio di programmazione lato server ( php , asp.net , java , ecc.. ).

Per scaricare il codice cliccate : jquery-xml.zip o scaricatelo dal FlashWidget qui a lato nella barra latera ( Area Download ) sotto la cartella jquery.

Ecco il Video tutorial :

( part – 1 )

( part – 2 )


15 risposte a “Leggere dati da file xml con jquery

  1. Pingback:Leggere dati da un file xml con jquery ( part – 2 ) | Coding Tutes

  2. Marco 30 novembre 2013 alle 10:01

    Finalmente una spiegazione chiara e semplice…! Bravo!!
    Posso chiederti una cosa? Quale sarebbe il codice se volessi leggere per esempio solo i primi 5 Item? In pratica vorrei prendere delle news da TGCom24 e ho già l’indirizzo completo http://www………..file.xml.
    Per caso al cambiare delle notizie, si aggiornerebbe in automatico o dovrei fare il refresh ogni volta? grazie…

    • Frank2tek . 15 dicembre 2013 alle 00:01

      Ciao. Grazie per il bravo 🙂 Partiamo dall’ultima domanda : Non occorre ricaricare la pagina visto che nel codice del tutorial viene usata la chiamata ajax. In sostanza dovresti spostare tutto il codice in una funzione. Cioè tutto quello che adesso vedi nella funzione $(document).ready(function(){ $.ajax(…………………………………..); });

      dovresti spostarla in una funzione del tipo : function aggiornaNotizie(){ $.ajax(…………………………………..); }

      poi nella funzione $(document).ready dovresti metter un timer javascript che richiama la nuova funzione $(document).ready(function(){ aggiornaNotizie(); // richiama subito la funzione appena carica la pagina così hai subito le notizie // poi crei un timer che richiama la funzione aggiornaNotizie ogni tot millisecondi come vedi qui sotto window.setInterval(function () { aggiornaNotizie() ; } , 60000); // 60000 millisecondi = 60 secondi = 1 minuto ( ovviamente puoi cambiare es: 30 sec = 30000 ) });

  3. pietro 7 aprile 2012 alle 21:02

    complimenti per il tuttorial!! riguardo la gestione della risposta ajax con jquery che hai fatt te..nel caso volessi applicare un fadeIn e un fadeOut ad ogni item qunado li inserisco nel contenitore…cioè visualizzare un item alla volta che appare-scompare e riappare il successivo..é possibile farlo???ci sto provando ma nn ci riesco potresti aiutarmi te ne sarei grato.
    grazie a presto

    • Web Master 9 settembre 2012 alle 23:12

      Con jquery è possibile fare praticamente di tutto sugli elementi di una pagina html. Per quello che vuoi fare tu io caricherei i dati in una variabile e poi tramite un timer javascript , di volta in volta , inserire un item in un div e poi applicherei a quest’ultimo prima il fadeIn e poi il fadeOut. E così via per ogni volta che scade il timer fino a quando non lo hai fatto per tutti gli items. Forse è più facile farlo che spiegarlo 🙂

  4. mimmo 11 febbraio 2012 alle 16:21

    Caio,

    il tuo file e’ molto interessante. Volevo per questo chiederti una cosa. E’ possibile acquisire un valore (numero) ed incrementarlo?

    Grazie
    Mimmo

    • Web Master 11 febbraio 2012 alle 16:54

      Non ho capito bene cosa intendi. Ma se ti riferisci al fatto di poter leggere un dato numerico dal file xml per poi usarlo lato client ( utilizzando javascript o jquery ) certamente si. Ovviamente dovrai convertire il dato ( che viene letto come una stringa ) in un intero o in un float. Fatto questo puoi incrementarlo ed usarlo come vuoi. Non so se se è quello che volevi. Se hai dei dubbi lascia pure altri commenti. Ciao !!!

  5. Ferry 5 agosto 2011 alle 16:11

    Wow, grazie. Molto utile!!!

  6. zannino francesco 14 giugno 2011 alle 16:28

    Prova a scaricare di nuovo il tutto. Però tieni conto che se lo lanci dalla cartella in cui lo hai scaricato probabilmente non funziona. Devi caricare il progetto o sul server o su visual studio o su una piattaforma per lo sviluppo web. Cosa usi per programmare ?
    Comunque fammi sapere e grazie per il tuo interessamento ….

    • Paolo 14 giugno 2011 alle 16:41

      Proprio ora ho risolto, infatti il problema era che lo lanciavo dalla cartella, e in quel modo andava solo su firefox. Poi sempre lanciandolo dalla cartella sono riuscito a farlo andare su explorer inserendo questo controllo:

      $.ajax({
      url: “data.xml”,
      dataType: ($.browser.msie) ? “text” : “xml”,
      success: function(data){
      var xml;
      if (typeof data == “string”) {
      xml = new ActiveXObject(“Microsoft.XMLDOM”);
      xml.async = false;
      xml.loadXML(data);
      } else {
      xml = data;
      }
      // Returned data available in object “xml”
      }
      });

      dopo di che, dato che non andava su chrome, ho provato a caricarlo su un server ed è andato con tutti! 🙂
      Grazie per le celeri risposte e per la cortesia!

  7. zannino francesco 14 giugno 2011 alle 15:23

    Ti sei assicurato che l’esecuzione del codice javascript sia abilitato per i due browser ?

  8. Paolo 14 giugno 2011 alle 13:52

    salve, mi è stato molto utile questa guida, solo che ho notato un problema: funziona solo con il browser firefox, non funziona ne con chrome ne con internet explorer (tt aggiornati all’ultima versione).
    Come mai?, s può fare qualcosa?

    Grazie, Paolo

Scrivi una risposta a zannino francesco Cancella risposta