Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    utilizzo di dom per xml

    ciao

    sto seguendo una guida su mozzilla x ajax e il passaggio di messaggi via xml

    nell'esempio mostrano come recuperare il campo da un foglio dati di questo tipo

    codice:
    <?xml version="1.0" ?>
    <root>
        I'm a test.
    </root>
    con il seguente codice_
    codice:
    var xmldoc = http_request.responseXML;
    var root_node = xmldoc.getElementsByTagName('root').item(0);
    alert(root_node.firstChild.data);

    ho provato e ovviamente tutto funziona...ora, io avrei una struttura un pochettino più complessa, del tipo:

    codice:
    <?xml version="1.0" ?>
    <MESSAGGIO>
        <UTENTE>user1</UTENTE>
        <TESTO>dsadasdada</TESTO>
    </MESSAGGIO>
    <MESSAGGIO>
        <UTENTE>user2</UTENTE>
        <TESTO>dsad dwe dada</TESTO>
    </MESSAGGIO>
    <MESSAGGIO>
        <UTENTE>user3</UTENTE>
        <TESTO>dsadds  dsa dada</TESTO>
    </MESSAGGIO>
    <MESSAGGIO>
        <UTENTE>user4</UTENTE>
        <TESTO>dsaddsd   dad  dada</TESTO>
    </MESSAGGIO>
    vorrei fare una funzione che cicla tutti gli elementi messaggio e estrae i 2 valori utente e testo, come posso fare?

    grazie

    inoltre, questi script vanno su IE ? (anche se temo di conoscere la risposta...)
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  2. #2
    allora, girovagando un po per internet sono riuscito a mettere insieme questo, che funziona:

    codice:
    var messaggi = contenuto.getElementsByTagName('MESSAGGIO');
    		alert(messaggi.length)
    		for(var i=0; i<messaggi.length; i++) {
    			var utente = messaggi[i].getElementsByTagName('UTENTE')[0].childNodes[0].nodeValue;
    			var testo = messaggi[i].getElementsByTagName('TESTO')[0].childNodes[0].nodeValue;
    			alert(utente+" - "+testo);
    		}
    il problema è che funziona solo quando il foglio XML contiene un elemento!

    se ne contiene + di uno messaggi.length ritorna 0 !!! perchè?
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  3. #3
    ho risolto inserendo tutto all'interno di un'altro elemento, una cosa tipo:

    codice:
    <CHAT>
    <MESSAGGIO>
        <UTENTE>user1</UTENTE>
        <TESTO>dsadasdada</TESTO>
    </MESSAGGIO>
    <MESSAGGIO>
        <UTENTE>user2</UTENTE>
        <TESTO>dsad dwe dada</TESTO>
    </MESSAGGIO>
    <MESSAGGIO>
        <UTENTE>user3</UTENTE>
        <TESTO>dsadds  dsa dada</TESTO>
    </MESSAGGIO>
    <MESSAGGIO>
        <UTENTE>user4</UTENTE>
        <TESTO>dsaddsd   dad  dada</TESTO>
    </MESSAGGIO>
    </CHAT>
    qualcuno sa spiegarmi il perchè?

    grazie
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.it

  4. #4
    come temevo, su IE non va nulla ... :-(
    "durante i primi 5 miuti di pioggia nel bosco c'è ancora asciutto, poi quando smetterà di piovere nel bosco cadranno gocce per 5 minuti.....la natura ha un'ottima memoria..."

    http://www.kumbe.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.