Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31

    Leggere XML con JQuery passando variabili

    Ciao a tutti.
    Sono alle prese con la lettura di un file XML con JQuery.
    Ho fatto varie ricerche online ma non mi sembra di aver trovato nulla che mi possa aiutare.
    Vi spiego.

    Io ho un file XML con una struttura simila a questa

    <?xml version="1.0" encoding="UTF-8"?>

    <lingua id="1">
    <nome name="1">Sole</nome>
    <nome name="2">Cuore</nome>
    <nome name="3">Amore</nome>
    </lingua>

    <lingua id="2">
    <nome name="1">Sun</nome>
    <nome name="2">Heart</nome>
    <nome name="3">Love</nome>
    </lingua>

    Il mio obiettivo è quello di poter richiamare a piacimento, anche più volte nella mia pagina in posizioni diverse, un valore del file XML a seconda della lingua e del nome che gli passo.

    Premesso che con JQuery ho capito come si apre un file XML, non riesco a fare la funzione che passati 2 paramentri numerici (lingua e nome) mi fa visualizzare in una parte di pagina che decido io il valore relativo.

    Ho trovato solo esempi che mi visualizzano completamente ed in un'unica posizione tutto il contenuto del file xml.

    Io invece vorrei che se alla funzione passo 1 e 3 venga scritto AMORE mentre se gli passo 2 e 2 venga scritto HEART

    Qualcuno mi riesce a dare una mano?

    Grazie 1000

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Questa guida l'hai letta?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31
    Ehm, a dire la verità è stato proprio il primo link che ho guardato e da cui ho preso la funzione per leggere il file XML .. ed è tutto ok.

    ma è la parte

    $(xml).find('guida').each(function() {
    var titolo = $(this).find('titolo').text();
    var link = $(this).find('link').text();
    var link_markup = '[*]'+titolo+'';
    $(link_markup).appendTo('#guide');

    che non riesco a modificare.

    Qui me prende tutto quello che è scritto nel file XML e me lo fa visualizzare dentro al div #guide
    Ma, per esempio riprendendo i valori del mio file XML, come faccio a dire che dentro al div #guide alla linea 3 deve esserci scritto AMORE (lingua:1 e nome:3) mentre in guide alla linea 125 deve esserci scritto HEART (lingua:2 e nome:2)

    E' questo che proprio non riesco a capire come fare ..

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non so se in xml quello che vuoi fare è possibile, forse ti conviene in php "convertire" il file xml in dati json poi usare questi con jquery http://blog.html.it/29/04/2010/json-o-xml/
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31
    A parte che sto utilizzando ASP, io vorrei continuare ad utilizzare JQuery perchè di JSon non lo conosco e rischio di fare delle cose che poi non riesco nè a capire nè a sistemare ..

    Ma vuoi proprio dire che non si riesca a creare una funziona parametrica in Jquery?

    Cavolo, mi risolverebbe una mare di problemi ..

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che json e un sostitutivo/equivalente (vedi articolo) di xml non di jquery e che tu carichi una file xml in blocco è la suddivisone che non credo possibile (per suddividere devo dire al ciclo .each parametro 1 valore 1 ma il parametro non l'hai ).
    Forse puoi formattare il file xml in modo che una volta caricato nel documento si posizioni correttamente
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31
    Sono riuscita a leggere senza problemi il mio file xml in questo modo

    $.ajax({
    type: "GET",
    url: "file.xml",
    dataType: "xml",
    success: function(data){
    //$("#result").html("Dentro success!");

    $(data).find('lingua[id=1]').each(function() {
    var id = $(this).attr('id');
    var label = $(this).find('nome[id=2]').text();

    var htmlString = 'ID:' + id + '
    ' + 'Label:' + label;
    $('<div></div>').html(htmlString).appendTo('#result');

    });
    },
    error: function(){ $("#result").html("Errore nella richiesta!");}
    e mettere il risultato dentro al div #result, ma di più proprio non mi viene.
    In qualche modo vorrei passare alla funzione i due valori 1e 2 di lingua[id=1] e nome[id=2] da dentro al DIV result .. ma non ho trovato nessun esempio o aiuto ..

    Mi sembra cmq strano che una chiamata jquery non possa essere parametrica ..

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da FN79
    ... Mi sembra cmq strano che una chiamata jquery non possa essere parametrica ..
    Premesso che ajax riceve e invia stringhe (che possono essere composte da html o da solo testo) il concetto di parametrico è molto soggettivo e con quale principio o concetto suddivido i parametri? Come già detto la soluzione migliore e formattare lato server il file xml e "iniettarlo" cosi come nel documento
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2011
    Messaggi
    31
    Forse ho unsato impropriamente il termine parametrico e sicuramente ho una conoscenza di Jquery mooooolto scarsa

    Per parametrico io intendo 'solo' la possibilità di passargli due variabili che io so a priori.

    Cioè se so che alla line 3 del codice della mia pagina ci deve essere scritto AMORE in inglese, io chiamerò la mia funzione in Jquery che apre il file .XML passandogli i parametri 2 (che sta per il primo nodo 'lingua') e 3 (che sta per il nodo figlio 'nome') ..

    Questi dati glieli passerei io a mano, la funzione me li dovrebbe solo leggere e buttare fuori a video la parola LOVE

    Ehm, mi sa che getto la spugna e che continuo ad usare il codice che ho utilizzato fin'ora senza JQuery .. che peccato, mi sembrava una soluzione + snella ..

  10. #10
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    E' possibile vedere il tutto all'opera (2 pagine demo pubbliche) di come esegui questa operazione senza jquery e con jquery
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.