Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: flash xml

  1. #1

    flash xml mi a impazzire

    Qualche buon'anima mi ha aiutato ma adesso che vado a modificare un po lo script non mi funge più:

    vi posto tutto:

    avevo un file xml:

    <?xml version="1.0"?>
    <corsa>
    <cavallo>
    <gate>a</gate>
    <nomecavallo> Flash</nomecavallo>
    <quota>3/2</quota>
    <commento>E' un buon cavallo</commento>
    <ultime6gare>123456</ultime6gare>
    <media>102</media>
    <fantino>Pepigno75</fantino>
    <proprietario>Peppe</proprietario>
    <allenatore>Dario</allenatore>
    <maglietta>giallanera</maglietta>
    </cavallo>

    <cavallo>
    <gate>b</gate>
    <nomecavallo>Brccolo</nomecavallo>
    <quota>4/3</quota>
    <commento>E' un buon cavallo</commento>
    <ultime6gare>123456</ultime6gare>
    <media>102</media>
    <fantino>Pepigno</fantino>
    <proprietario>Peppe</proprietario>
    <allenatore>Dario</allenatore>
    <maglietta>giallanera</maglietta>
    </cavallo>
    _____________________

    qui continui continuo con altri cavalli
    </corsa>

    Ora vi posto lo script che mi hanno suggerito:


    _global.horses = new Array();
    horseData = new XML();
    horseData.ignoreWhite = true;
    horseData.onLoad = function(successo) {
    if (successO) {
    // Imposto un ciclo che legga tutti i tag cavallo
    for (var i = 0; i<this.firstChild.childNodes.length; i++) {
    horse = new Object();
    // Imposto un ciclo che legga tutti i tag contenuti in cavallo
    for (var j = 0; j<this.firstChild.childNodes[i].childNodes.length; j++) {
    // Creo un variabile nell oggetto vanete come nome il noome del tag e come valora il valore del tag
    horse[this.firstChild.childNodes[i].childNodes[j].nodeName] = this.firstChild.childNodes[i].childNodes[j].firstChild.nodeValue;
    }
    horses.push(horse);
    delete horse;
    }
    // Qui mettici tutte le azioni che ti servono ;-)
    // Cancello l'oggetto XMl che ora non mi serve +
    delete horseData;
    }
    gotoAndStop(2);
    };
    horseData.load("cavalli.xml");


    Bne il tutot mi funge ma adeso devo aggiungere un nodo in latro che non c'entra nulla con il resto:

    <?xml version="1.0"?>
    <corsa>
    <dati>
    <arrivo>123456</arrivo>
    <vincitamassima>8000</vincitamassima>
    <conto>350</conto>
    <tempo>Sereno</sereno>
    <dati>

    <cavallo>
    <gate>a</gate>
    <nomecavallo> Flash</nomecavallo>
    <quota>3/2</quota>
    <commento>E' un buon cavallo</commento>
    <ultime6gare>123456</ultime6gare>
    <media>102</media>
    <fantino>Pepigno75</fantino>
    <proprietario>Peppe</proprietario>
    <allenatore>Dario</allenatore>
    <maglietta>giallanera</maglietta>
    </cavallo>

    <cavallo>
    <gate>b</gate>
    <nomecavallo>Brccolo</nomecavallo>
    <quota>4/3</quota>
    <commento>E' un buon cavallo</commento>
    <ultime6gare>123456</ultime6gare>
    <media>102</media>
    <fantino>Pepigno</fantino>
    <proprietario>Peppe</proprietario>
    <allenatore>Dario</allenatore>
    <maglietta>giallanera</maglietta>
    </cavallo>
    _____________________

    Bne ho provato a modifcare lo script ma nada mi aiutaer per favore?

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    ok, ma aggiungere dove?

  3. #3
    Si scusa ho postato tardi ieri sera ed ero stanco, ti mostro subito:

    questo è il file xml iniziale:

    <?xml version="1.0"?>
    <corsa>
    <cavallo>
    <gate>a</gate>
    <nomecavallo> Flash</nomecavallo>
    <quota>3/2</quota>
    <commento>E' un buon cavallo</commento>
    <ultime6gare>123456</ultime6gare>
    <media>102</media>
    <fantino>Pepigno75</fantino>
    <proprietario>Peppe</proprietario>
    <allenatore>Dario</allenatore>
    <maglietta>giallanera</maglietta>
    </cavallo>

    <cavallo>
    <gate>b</gate>
    <nomecavallo>Brccolo</nomecavallo>
    <quota>4/3</quota>
    <commento>E' un buon cavallo</commento>
    <ultime6gare>123456</ultime6gare>
    <media>102</media>
    <fantino>Pepigno</fantino>
    <proprietario>Peppe</proprietario>
    <allenatore>Dario</allenatore>
    <maglietta>giallanera</maglietta>
    </cavallo>
    _____________________

    qui continui continuo con altri cavalli
    </corsa>
    i cavalli sono 6 bene e questo è il codice:

    _global.horses = new Array();
    horseData = new XML();
    horseData.ignoreWhite = true;
    horseData.onLoad = function(successo) {
    if (successO) {
    // Imposto un ciclo che legga tutti i tag cavallo
    for (var i = 0; i<this.firstChild.childNodes.length; i++) {
    horse = new Object();
    // Imposto un ciclo che legga tutti i tag contenuti in cavallo
    for (var j = 0; j<this.firstChild.childNodes[i].childNodes.length; j++) {
    // Creo un variabile nell oggetto vanete come nome il noome del tag e come valora il valore del tag
    horse[this.firstChild.childNodes[i].childNodes[j].nodeName] = this.firstChild.childNodes[i].childNodes[j].firstChild.nodeValue;
    }
    horses.push(horse);
    delete horse;
    }
    // Qui mettici tutte le azioni che ti servono ;-)
    // Cancello l'oggetto XMl che ora non mi serve +
    delete horseData;
    }
    gotoAndStop(2);
    };
    horseData.load("cavalli.xml");


    ora primi di tuti e 6 cavalli devo mettere cosi:
    <corsa>
    <dati>
    <arrivo>123456</arrivo>
    <vincitamassima>8000</vincitamassima>
    <conto>350</conto>
    <tempo>Sereno</sereno>
    <dati>
    <cavallo>
    </cavallo>

    e poi i sei cavalli quindi lo script sopra mi sballa un po.

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    ok, ma i dati aggiuntivi dove li vuoi inserire? In un array? In un oggetto?

  5. #5
    In array forse lo so gestire meglio
    Il mio problema e che guardano altri file riesco a fare il cilo ed strarre i dati ma quando i dati stanno fuori dal ciclo mi confondo.
    cioè se ho

    <casa>
    <casa1>
    <casa2>
    <casa3>
    </casa>
    e poi uan serie di altri 5
    cose
    che so

    <castello>
    </castello>
    <castello>
    </castello>
    ecc.

    Si è vero prima di dover affrontare lavori con molti dati devo studiare tanto ma a volte il lavoor ti supera sia in quantità che in qualità.

    Devo importare dei dati da xml e fino a 3gg fa non en sapevo nulla adesso sto imparando quindi chiedo scusa per le troppe domande e magari qualcuna un po scema.
    grazie a tutti

  6. #6
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Crea l'xml con questa struttura:

    codice:
    <?xml version="1.0"?> 
    <corsa>
    	<dati> 
    		<arrivo>123456</arrivo> 
    		<vincitamassima>8000</vincitamassima> 
    		<conto>350</conto> 
    		<tempo>Sereno</tempo> 
    	</dati>
    	<cavalli>
    		<cavallo>
    			<gate>a</gate>
    			<nomecavallo> Flash</nomecavallo>
    			<quota>3/2</quota>
    			<commento>E' un buon cavallo</commento>
    			<ultime6gare>123456</ultime6gare>
    			<media>102</media>
    			<fantino>Pepigno75</fantino>
    			<proprietario>Peppe</proprietario>
    			<allenatore>Dario</allenatore>
    			<maglietta>giallanera</maglietta>
    		</cavallo>
    		<cavallo>
    			<gate>b</gate>
    			<nomecavallo>Broccolo</nomecavallo>
    			<quota>4/3</quota>
    			<commento>E' un buon cavallo</commento>
    			<ultime6gare>123456</ultime6gare>
    			<media>102</media>
    			<fantino>Pepigno</fantino>
    			<proprietario>Peppe</proprietario>
    			<allenatore>Dario</allenatore>
    			<maglietta>giallanera</maglietta>
    		</cavallo>
    	</cavalli>
    </corsa>
    Quindi usa questo codice:

    codice:
    _global.corsa = new Array();
    horseData = new XML();
    horseData.ignoreWhite = true;
    horseData.onLoad = function(successo)
    {
    	if (successo) {
    		corsa.dati = {};
    		var nodes = this.firstChild.firstChild.childNodes;
    		for(var i = 0; i < nodes.length; i++){
    			corsa.dati[nodes[i].nodeName] = nodes[i].firstChild.nodeValue;
    		}
    		corsa.cavalli = [];
    		var nodes = this.firstChild.lastChild.childNodes;
    		for (var i = 0; i < nodes.length; i++) {
    			var temp = {};
    			for (var j = 0; j < nodes[i].childNodes.length; j++) {
    				temp[nodes[i].childNodes[j].nodeName] = nodes[i].childNodes[j].firstChild.nodeValue;
    			}
    			corsa.cavalli.push(temp);
    		}
    		delete horseData;
    	}
    	gotoAndStop(2);
    };
    horseData.load("cavalli.xml");
    Ti ritroverai con l'oggetto "corsa", dotato di due proprietà: l'oggetto "dati", contenente i dati appunto, e l'array "cavalli", contenente i dati dei singoli cavalli come oggetto.

  7. #7
    si bene ma io non so usare questa programmzione come estreggo i dati e li metto tutti sulla _root, che funzione uso. lo s che è coem s me lo stessi facendo tu ma cosi non ci capisco, cioè in teoria capisco cosa hai fatto , ma non so processare i dati conteneti negli oggetti

  8. #8
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Originariamente inviato da negatyve

    Ti ritroverai con l'oggetto "corsa", dotato di due proprietà: l'oggetto "dati", contenente i dati appunto, e l'array "cavalli", contenente i dati dei singoli cavalli come oggetto.

  9. #9
    Non capisco perchè ti sei arrabbiato si lo so magari sono scarso ma sto imparando in fretta

  10. #10
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Non mi sono affatto arrabbiato..
    Ti citavo solamente, nel caso ti fosse sfuggito, la parte della mia risposta in cui ti dicevo dove finivano i dati!

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.