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

    Comunicazione tra 2 xml - Flash 8 pro

    Ho un xml (in un swf) che gestisce un componente tree con:
    <node label = "advertising">
    <node label = "cliente1" path = "cliente1.swf" />
    </node>


    Ho un 2° xml (in un 2° swf "cliente1.swf"), che vorrei gestire dal 1° con:
    <advertising>
    <immagine titolo="didascalia1" foto="cliente_01.jpg"/>
    </advertising>
    <web>
    <immagine titolo="didascalia2" foto="cliente_02.jpg"/>
    </web>


    Si può dal 1° tirar fuori solo <advertising> del 2°?
    Ho provato a leggere guide e tutorial, ma non trovo niente che sia sufficientemente chiaro per la mia conoscenza "niubba" dell'xml... :master:

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    non è necessario far interagire direttamente i due XML, basta che li carichi entrambi nel flash e poi verifichi quello che devi "prendere" dal 2° attraverso una condizione sul primo, genericamente:

    if(primo_xml_parsato.nodo_di_interesse == "advertising"){
    // elenca i nodi presenti nel 2° xml, solo dentro "advertising"
    }

  3. #3

    caricare xml

    intanto grazie, and. Poi 2 domande.
    1) Per caricare li carico normalmente tramite "mieidati.load("mio.xml") (etc etc)" x entrambi?
    2) E caricando entrambi gli xml nel 1° swf, logicamente non c'è bisogno di caricarli nel 2°...?
    So che sono domande banali, ma ho bisogno di chiarire le idee!
    Grazie e ciao...

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    io di solito, fino a flash 8 parsavo l'xml esterno "stipandolo" in un oggetto o un array (a seconda della complessità dell'xml) e poi utilizzavo questo array/object dentro una funzione che richiamavo nell'onLoad dell'xml

    nel tuo caso dovresti aspettare entrambi i caricamenti esterni e poi attivare tale funzione, se hai necessità posso aiutarti in questi passi (se gli xml non sono complicatissimi purtroppo il tempo scarseggia...)

  5. #5
    Grazie x la disponibilità And!
    Allora, la struttura che sto cercando di metter su è questa:

    1° swf) PORTFOLIO.SWF (con all'interno un componente tree gestito dall'xml qui sotto)
    <node label = "ADVERTISING">
    <node label = "cliente1" path = "cliente1.swf" />
    </node>


    Cliccando nel tree di portfolio.swf, carico (loadmovienum) l'swf del cliente relativo (cliente1.swf) gestito dal seguente xml:

    2° swf) CLIENTE1.SWF
    <advertising>
    <immagine titolo="dida_adv" grande="cliente1adv.jpg"/>
    </advertising>
    <web>
    <immagine titolo="dida_web" grande="cliente1web.jpg"/>
    </web>


    Il mio problema è questo (per evitare di dover fare 2000 swf, uno x sezione!): fare in modo che cliccando su portfolio/advertising/cliente1 si tirino fuori SOLO i dati dell'advertising nell'xml

  6. #6
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    mi pare che hai detto che utilizzi il componente Tree... immagino che ad ogni nodo dovrebbe corrispondere un "cliente" e dentro ad ogni "cliente" dovrebbero esserci delle categorie, in questo caso non avresti alcuna necessità di usare diversi xml per diversi clienti, ti basterebbe crearne uno unico e assegnarne semplicemente la "compilazione" direttamente allinterfaccia TreeDataProvider del componente Tree, la quale si dovrebbe occupare in automatico di riempire il tuo "albero" con tutti i nodi necessari e con la corretta "nidificazione"

    scusami se tardo un po' a capire, ma il meccanismo che stai provando ad ottenere mi sembra ricco di troppi passaggi in più rispetto a quello di cui necessiterebbe in realtà...

  7. #7
    Lo so e me ne sto rendendo conto! E' che non essendo in grado di progettare una struttura ad hoc dall'inizio, e poi casomai cercare aiuti online x "rifinire" il tutto, cerco prima esempi e/o tutorial che si avvicinano il più possibile a ciò che mi occorre, e poi aggiusto il tiro strada facendo. Ma non sempre (come ora) funziona...
    So che è un comportamento da niubbo, ma prometto che ora mi metto a studiare il treedataprovider!

    Il mio tree funziona così, a ogni nodo corrisponde una sezione (1=advertising, 2=web; 3=n
    e dentro ogni sezione ho un elenco di clienti. Ogni cliente, cliccandolo, chiama l'swf relativo.
    Ho bisogno di una struttura che si muova in questo modo. Tu come architettura "generale" di tutta la baracca come ti muoveresti?

  8. #8
    L'xml, in portfolio.swf, lo chiamo così:
    dati = new XML();
    dati.ignoreWhite = true;
    dati.load("portfolio.xml");
    dati.onLoad = function(){
    albero.dataProvider = dati;
    }
    alberolistener = new Object();
    alberolistener.change = function(eventObject){
    var nodoscelto = eventObject.target.selectedNode;
    var valorenodo = nodoscelto.attributes.label;
    var mypath = nodoscelto.attributes.path;
    valore.text= valorenodo;
    if(mypath){
    loadMovieNum (mypath, 10); // chiama il 2° swf ***
    }
    }

    ***nell'xml ho:
    <node label = "CLIENTE1" path = "CLIENTE1.swf" />

  9. #9
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    per quanto ne so sul componente Tree e il TreeDataProvider, l'xml deve essere strutturato in questa maniera

    <node label='nome_del_nodo'></node>

    e il dataprovider legge i nodi in questo modo

    nel tuo caso dovrebbe essere una roba del genere

    Codice PHP:
    <node>
        <
    node label='Advertising'>
            <
    node label='Cliente1'>
                <
    node label='immagine' titolo='dida_adv' grande='cliente1adv.jpg'></node>
            </
    node>
        </
    node>
        <
    node label='Web'>
            <
    node label='Cliente1'>
                <
    node label='immagine' titolo='dida_web' grande='cliente1web.jpg'></node>
            </
    node>
        </
    node>
        <
    node label='Other'>
        </
    node>
    </
    node
    l'unica cosa che non ho ancora capito è come fare a utilizzare poi i due parametri del nodo "immagine", che poi dipende anche da come vuoi usarli tu

    comunque per provare, basta che salvi questo xml dentro un file xml e poi in flash fai

    Codice PHP:
    var my_xml = new XML();
    my_xml.load("test.xml");
    my_xml.onLoad = function(ok){
        if(
    this.loaded){
            
    my_tree.dataProvider this.firstChild;
        }


  10. #10
    Ho provato a inserire il tuo script:

    my_xml = new XML();
    my_xml.ignoreWhite = true;
    my_xml.load("cliente1.xml");
    my_xml.onLoad = function(ok){
    if(this.loaded){
    my_tree.dataProvider = my_xml;
    trace(this.firstChild.childNodes);
    }
    }

    e riesco a fare il trace! E quindi credo di non avere problemi a caricare i miei dati smanettando ancora un po'! Però lavorando sul tuo script mi è venuta una domanda: così facendo devo inserire nel flash questo script per ogni cliente che devo caricare, è cmq poco pratico se, ad es, deve mettere le mani sul portfolio un'altra persona che ha scarsa pratica col flash... cmq grazie and, qualcosa si muove!

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.