Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282

    aiuto x importare un file xml

    Ciao a tutti, non so proprio come fare
    io importo un file xml
    se faccio un trace mi da tutto l'elenco che importo...se invece lo butto in un campo di testo mi da solo l'ultimo nodo...
    come faccio a gestire ogni singolo nodo per poi interagire su ognuno di essi?

    utilizzo questo codice:

    Codice PHP:
    var urlRequest:URLRequest = new URLRequest("xml/prova.xml");
    var 
    urlLoader:URLLoader = new URLLoader(urlRequest);
    var 
    titleArray:Array = new Array();
    var 
    descrizioneArray:Array = new Array();

    urlLoader.addEventListener(Event.COMPLETEonXmlComplete);

    function 
    onXmlComplete(event:Event)
    {
        var 
    xmlList:XMLList;
        var 
    nr:int;
        var 
    xml:XML = new XML(event.target.data);
        
    xmlList xml.children();
        
    nr xmlList.length();
        for(var 
    i:int 0i<nri++){
            
    dataNewsArray[i] = xmlList[i].attribute("dataNews");
            
    titleArray[i] = xmlList[i].attribute("titolo");
            
    descrizioneArray[i] = xmlList[i].attribute("testo");
    // con i trace successivi mi da tutto il contenuto
            
    trace ("le descrizione sono: "+(descrizioneArray[i]));
            
    trace ("le date sono: "+ (dataNewsArray[i]));
            
    trace ("i titoli sono: "+ (titleArray[i]));
    //così invece mi da soltanto l'ultimo nodo cioè l'ultima voce di un nodo cioè se
    //scelgo il nodo testo la risposta è soloTesto della news 2
    //in questo modo:
                    
    testo.text=(titleArray[i]);
        }
    }


    sto proprio sbattendo la testa...non riesco proprio a capire come riuscire a gestire ogni singolo nodo

    il file xml invece è

    Codice PHP:

    <?xml version="1.0" encoding="utf-8"?>
    <news>
    <notizia dataNews="Prova numero 1" titolo="Titolo News" testo="Testo della news 1" />
    <notizia dataNews="Prova numero 2" titolo="Titolo News" testo="Testo della news 2" />
    </news>

    ciao e grazie

  2. #2
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Prova così:
    Codice PHP:
    var dataNewsArray:Array = [];
    var 
    titleArray:Array = [];
    var 
    descrizioneArray:Array = [];
    var 
    xml:XML;
    var 
    xmlLoader:URLLoader = new URLLoader(new URLRequest("xml/prova.xml"));
    xmlLoader.addEventListener(Event.COMPLETEonXMLComplete);
    function 
    onXMLComplete (evt:Event):void {
        try {
            
    xml = new XML (evt.target.data);
            for (var 
    i:uint=0i<xml..notizia.length(); i++) {
                
    dataNewsArray[i] = xml..notizia[i].@dataNews;
                
    titleArray[i] = xml..notizia[i].@titolo;
                
    descrizioneArray[i] = xml..notizia[i].@testo;
                
    testo.appendText(titleArray[i]+"\n");
            }
        } catch (
    err:Error) {}


  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    Ciao And e grazie per la risposta...
    ho provato ma mi mostra solo questo:

    Titolo News
    Titolo News


    e gli altri nodi? e poi nel file xml era Totolo News1, Titolo News2 ecc.

    grazie
    Tony

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    Falso allarme ...funge
    avevo fatto confusione con un altro file xml

    grazie ancora...


    ma /n cosa significa? e dove posso trovare info semplici per imparare la gestione di XML?

  5. #5
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    \n è la codifica che rappresenta gli "accapo" (newline) nelle stringhe, in flash. Sarebbe come inserire
    in un campo codificato in html.

    Per la codifica degli xml potresti dare un'occhiata intanto alla guida in linea di flash che spiega come gestire gli xml con la nuova classe XML che accetta la codifica e4x. Ah c'è un articolo anche sul sito riguardo all'e4x applicato ad actionscript 3.

    [edit]http://flash.html.it/articoli/leggi/2088/e4x-rivoluzione-nellinterazione-flashxml/

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    Ho un piccolo problemino...
    se volessi applicare un ascoltatore su ogni singolo nodo?
    in modo che quando passa il mouse sopra io gli applico un textformat e lo sottolineo oppure un cambio di colore?
    non riesco proprio a trovare un esempio pratico e facile da capire per poter imparare ad interagire su questi tipi di lavori.
    Ciao e grazie ancora
    Tony

  7. #7
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    Se è come penso, ti basta usare il campo come html e impostare un <a href> per ogni voce gestendo l'evento TextEvent.LINK

    Prova un po'

    Codice PHP:
    var xml:XML;
    var 
    dataNewsArray:Array = [];
    var 
    titleArray:Array = [];
    var 
    descrizioneArray:Array = [];
    var 
    xmlLoader:URLLoader = new URLLoader(new URLRequest("xml/prova.xml"));
    xmlLoader.addEventListener(Event.COMPLETEonXMLComplete);
    function 
    onXMLComplete (evt:Event):void {
        try {
            
    xml = new XML (evt.target.data);
            for (var 
    i:uint=0i<xml..notizia.length(); i++) {
                
    dataNewsArray[i] = xml..notizia[i].@dataNews;
                
    titleArray[i] = xml..notizia[i].@titolo;
                
    descrizioneArray[i] = xml..notizia[i].@testo;
                
    testo.appendText(titleArray[i]+"\n");
                
    testo.htmlText += "[url='event:"+descrizioneArray[i]+"']"+titleArray[i]+"[/url]
    "
    ;
            }
        } catch (
    err:Error) {}
    }
    testo.addEventListener(TextEvent.LINKlinkEvent);
    function 
    linkEvent (evt:TextEvent):void {
        
    trace(evt.text);


  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2006
    Messaggi
    282
    grazie And
    proverò subito
    ciao

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 © 2024 vBulletin Solutions, Inc. All rights reserved.