Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    46

    Problema lettura XML con Javascript

    Una servlet Java mi restituisce il seguente codice XML:
    ------------------------------------------------------------------------------------------------
    <ajax-response>
    <fragment>
    <id>sezioni</id>
    <content>
    <ul id="ulTipologie" class="h_menu">
    <li class="selected">Tipo Documento[/list]
    </content>
    </fragment>
    <fragment>
    <id>pagination_index</id>
    <content>
    Documenti: 22 - Pagine: 1
    2
    </content>
    </fragment>
    <fragment>
    <id>docs</id>
    <content>
    Documento
    <div class="ogg">
    Oggetto Documento
    </div>


    Documento
    <div class="ogg">
    Oggetto Documento
    </div>


    </content>
    </fragment>
    </ajax-response>
    -----------------------------------------------------------------------------------------

    Ho preparato questa funzione javascript per "leggerlo":
    -----------------------------------------------------------------------------------------
    function drawFragments(req) {

    var xmlDoc = req.responseXML.documentElement;

    var fragments = xmlDoc.getElementsByTagName('fragment');
    for(i=0; i<fragments.length; i++){
    var idelem = fragments.item(i).getElementsByTagName('id');
    if(idelem.length == 1)
    id = idelem.item(0).firstChild.data;
    if($(id)){
    var content = fragments.item(i).getElementsByTagName('content');
    if(content.length == 1){
    if(content.item(0).hasChildNodes()){
    $(id).innerHTML = content.item(0).firstChild.data;
    } else {
    $(id).innerHTML = "";
    }
    }
    }
    }
    }
    -----------------------------------------------------------------------------------------
    ma nella mia pagina jsp, nel div sezioni e docs appare la scritta "undefined" mentre in quello pagination_index appare la scritta "Documenti: 22 - Pagine: 1" e poi si ferma.
    Dove sbaglio nella funzione javascript?

    Grazie
    Ciao

  2. #2

    ........

    var fragments = xmlDoc.getElementsByTagName('fragment');
    for(i=0; i<fragments.length; i++){
    qui ne avrai sempre uno solo di tag id
    sei dentro a
    <fragment>
    <id>sezioni</id>
    <content>
    <ul id="ulTipologie" class="h_menu">
    <li class="selected">Tipo Documento[/list]
    </content>
    </fragment>
    var idelem = fragments.getElementsByTagName('id');
    il valore lo hai in idelem[0].firstChild.data
    Prova cosi dopo il for non si capisce proprio cosa vuoi
    fare !

    Non è testato ma ad occhio dovrebbe andare.



    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

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.