Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Prelevare dati da file xml

    Ciao, "premetto che sto iniziando solo ora a valutare la spendida funzionalità dell'XML"

    Ho un sito nel quale ho vari campi di testo dimanici (circa 6/10), nei quali vorrei far caricare in base al pulsante cliccato, dei testi prelevati da un file xml esterno..

    Nel dettaglio.. ho 1 file xml con all'interno 20 nodi principali e al loro interno circa da 6 a 10 nodi figli

    Ora vorrei che cliccando un pulsante, es ARIA , nei 6/10 campi di testo dinamico che ho nel filmato, venissero caricati i testi provenienti da uno dei 20 nodi principali, in questo caso dal nodo ARIA.. e poi ad un'altro pulsante es FUOCO, mi venissero caricati i testi contenuti nel nodo principale FUOCO, sempre negli stessi campi di testo dove prima venivano caricati i dati da ARIA..

    Come posso fare? :master: :master:

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Leggi qui, e chiedi di nuovo se non riesci a trovare una soluzione: http://flash-mx.html.it/guide/lista_....asp?idguida=9

  3. #3
    Ciao, eccomi di nuovo qui..
    grazie mille del link, ho letto e mi sono fatto una mezza infarinatura, ho anche guardato i vari esempi e quasi ci siamo..

    Nel dettaglio però, vorrei fare un script che mi prelevi da vari nodi figlio dei dati, e che me li renda disponibili per vari campi di testo e non per uno solo..

    Come faccio a far caricare il contenuto del file xml in vari campi di testo?

  4. #4
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Al momento, riesci a recuperare il valore di un nodo cercato?

  5. #5
    Ciao, ho qesto script..

    mio_xml = new XML();
    mio_xml.path = this;
    mio_xml.ignoreWhite = true;
    mio_xml.onLoad = function(success)
    {
    if(success){
    this.path.campo1 = this.firstChild.firstChild.nodeValue;
    } else {
    this.path.campo1 = "Dati mancanti";
    }
    };
    mio_xml.load("dati.xml");
    e nel file XML ho..

    <?xml version="1.0" encoding="UTF-8" ?>
    <Sezione>Ciao campo 1</Sezione>
    <Titolo>Ciao campo 2</Titolo>
    <Specifiche>Ciao campo 3</Specifiche>
    <Altro>Ciao campo 4</Altro>
    Come faccio a far comparire il contenuto di ogni nodo in 4 diversi campi di testo?

  6. #6
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    >e che me li renda disponibili per vari campi
    >di testo e non per uno solo..

    codice:
    mio_xml = new XML();
    mio_xml.path = this;
    mio_xml.ignoreWhite = true;
    mio_xml.onLoad = function(success)
    {
    	if(success){
    		var node = this.firstChild.firstChild.nodeValue;
    		this.path.campo1 = node;
    		this.path.campo2 = node;
    		this.path.campo3 = node;
    	} else {
    		this.path.campo1 = "Dati mancanti";
    	}
    };
    mio_xml.load("dati.xml");

  7. #7
    Ho provato, ma mi restituisce in ognuno dei 4 campi di testo il contenuto del primo nodo..

    codice:
    mio_xml = new XML();
    mio_xml.path = this;
    mio_xml.ignoreWhite = true;
    mio_xml.onLoad = function(success)
    {
    	if(success){
    		var node = this.firstChild.firstChild.nodeValue;
    		this.path.campo1 = node;
    		this.path.campo2 = node;
    		this.path.campo3 = node;
    		this.path.campo4 = node;
    	} else {
    		this.path.campo1 = "Dati mancanti";
    	}
    
    };
    mio_xml.load("dati.xml");

  8. #8
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Ahh, tu non vuoi lo stesso nodo in campi diversi, vuoi un nodo per ogni campo. Allora:

    codice:
    mio_xml = new XML();
    mio_xml.path = this;
    mio_xml.ignoreWhite = true;
    mio_xml.onLoad = function(success)
    {
    	if (success) {
    		var nodes = this.firstChild.childNodes;
    		for(var i = 0; i < nodes.length; i++){
    			this.path["campo" + (i + 1)] = nodes[i].firstChild.nodeValue;
    		}
    	} else {
    		this.path.campo1 = "Dati mancanti";
    	}
    };
    mio_xml.load("dati.xml");
    Con questo file xml:

    codice:
    <?xml version="1.0" encoding="UTF-8" ?>
    <dati>
    	<Sezione>Ciao campo 1</Sezione>
    	<Titolo>Ciao campo 2</Titolo>
    	<Specifiche>Ciao campo 3</Specifiche>
    	<Altro>Ciao campo 4</Altro>
    </dati>

  9. #9
    Mitico, quindi se ho ben capito, con il ciclo for, anche se ci fossero 20 campi di testo e 20 nodi in automatico mi compila i campi sequenzialmente..

    Perfetto, ma se volessi caricare oltre che testi, anche delle immagini in vari MC tramite xml?

  10. #10
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    >Mitico, quindi se ho ben capito, con il ciclo for, anche se
    >ci fossero 20 campi di testo e 20 nodi in automatico mi
    >compila i campi sequenzialmente..

    esattamente

    >Perfetto, ma se volessi caricare oltre che testi, anche delle
    >immagini in vari MC tramite xml?

    file xml:
    codice:
    <?xml version="1.0" encoding="UTF-8" ?>
    <dati>
    	<Sezione img="pippo.jpg">Ciao campo 1</Sezione>
    	<Titolo img="pluto.jpg">Ciao campo 2</Titolo>
    	<Specifiche img="minnie.jpg">Ciao campo 3</Specifiche>
    	<Altro img="orazio.jpg">Ciao campo 4</Altro>
    </dati>
    script:
    codice:
    mio_xml = new XML();
    mio_xml.path = this;
    mio_xml.ignoreWhite = true;
    mio_xml.onLoad = function(success)
    {
    	if (success) {
    		var nodes = this.firstChild.childNodes;
    		for(var i = 0; i < nodes.length; i++){
    			this.path["campo" + (i + 1)] = nodes[i].firstChild.nodeValue;
    			this.path["clip" + (i + 1)].loadMovie(nodes[i].attributes.img);
    		}
    	} else {
    		this.path.campo1 = "Dati mancanti";
    	}
    };
    mio_xml.load("dati.xml");

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.