Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di daryl74
    Registrato dal
    Jun 2001
    Messaggi
    125

    dati da un XML in un DataSet

    Flash: CS3
    AS: 2
    Esporto per Flash Player 7

    Dunque sullo stage ho:
    1 istanza del componente Dataset di nome "user_ds"
    1 istanza del componente DataGrid di nome "user_dg"

    il datagrid è correttamente linkato al dataSet tanto che con il seguente codice mostra tutti e 4 i record.

    Codice PHP:
    var recData_array:Array = [
        {
    canale:"Uno"titolo:"prog 1"spo:truepropr:"Dario"ora:"06.55"id:1},
        {
    canale:"Due"titolo:"prog 2"spo:falsepropr:"Federico"ora:"12,40"id:2},
        {
    canale:"Tre"titolo:"prog 3"spo:truepropr:"Fabrizio"ora:"09.33"id:3},
        {
    canale:"Uno"titolo:"prog 4"spo:falsepropr:"Alex"ora:"22:10"id:4}
    ];
    user_ds.items recData_array
    Se cerco invece di caricare i dati dal seguente XML "prog.xml":

    Codice PHP:
    <?xml version="1.0" encoding="utf-8" standalone="no"?>
    <elenco>
      <item canale="Due" titolo="prog 1" spo="True" propr="Dario" ora="06.55" id="58"></item>
      <item canale="Uno" titolo="prog 2" spo="False" propr="Federico" ora="00.33" id="11"></item>
      <item canale="Uno" titolo="prog 3" spo="False" propr="Fabrizio" ora="19.45" id="46"></item>
      <item canale="Tre" titolo="prog 4" spo="False" propr="Alex" ora="24.00" id="74"></item>
    </elenco>
    con il seguente codice AS non funziona:

    Codice PHP:
    var tot 0;
    var 
    path this;
    dati_xml = new XML();
    dati_xml.ignoreWhite true;
    dati_xml.onLoad = function(success) {
        if (
    success) {
            var 
    nodiXml:Array;
            
    nodiXml this.firstChild.childNodes;
            
    //nodiXml = this.firstChild.childNodes.attributes;
                    
    user_ds.items nodiXml;
            
    tot nodiXml.length;
            
    trace  "nro record: "+tot;
        } else {
            
    trace "caricamento non riuscito";
        }
    };
    dati_xml.load("prog.xml"); 
    anche se il trace mi restituisce correttamente il numero di record (perchè effettivamente ci sono 4 nodi)
    Io però devo prendere i dati dagli attributi dei nodi del firstChild.
    Qualcuno sa come risolverlo ?

    grazie anticipatamente

    DaryL74

  2. #2
    Utente di HTML.it L'avatar di daryl74
    Registrato dal
    Jun 2001
    Messaggi
    125
    In questo modo funziona:

    Codice PHP:
    arrDati = new Array();
    var 
    my_xml:XML = new XML();
    my_xml.ignoreWhite true;
    my_xml.onLoad = function(success:Boolean) {
        if (
    success) {
            if (
    my_xml.status == 0) {
                
    nroRec this.firstChild.childNodes.length;
                
    //blocco recupero dati dagli attributi
                
    var temp:Array = this.firstChild.childNodes;                        
                for(var 
    i:Number 0temp.lengthi++){
                    var 
    obj:Object=new Object();
                    for(var 
    prop in temp[i].attributes)
                        
    obj[prop] = temp[i].attributes[prop];
                    
    arrDati.push(obj);
                }
                
    //fine blocco recupero dati dagli attributi
                
    user_ds.items arrDati;
            } else {
                
    trace("ERRORE nella lettura dell'XML");
            }
        }
    };
    my_xml.load("prog.xml"); 
    In ogni caso per problemi riscontrati nell'encoding di Numeri e Booleani da parte del componente DataSet, ho dovuto ripiegare su qusto codice per fare il cast di alcune variabili.

    Codice PHP:
    //blocco recupero dati dagli attributi
    for (var 0nroReci++) {
                    var 
    obj:Object=new Object();
                    
    obj.canale this.firstChild.childNodes[i].attributes.canale;
                    
    obj.titolo this.firstChild.childNodes[i].attributes.titolo;
                    
    obj.spo Boolean(this.firstChild.childNodes[i].attributes.spo);
                    
    obj.ora this.firstChild.childNodes[i].attributes.ora;
                    
    obj.propr this.firstChild.childNodes[i].attributes.propr;
                    
    obj.id Number(this.firstChild.childNodes[i].attributes.id);
    }
    //fine blocco recupero dati dagli attributi 

    Spero possa essere di aiuto a qualcuno

    :-)

  3. #3
    Utente di HTML.it L'avatar di mud
    Registrato dal
    Jun 2004
    Messaggi
    414
    ciao potresti scrivere il codice completo per far caricare nel datagrid un xml redatto come il tuo (e in qst caso il mio)?
    Codice PHP:
    <nodo titolo="ccc" anno="ccc" cliente="ccc" agenzia="ccc"   tecnica="ccc"   thumb="01.jpg"   thumb_low="01.jpg,02.jpg,03.jpg,04.jpg"   pict="01.jpg,02.jpg,03.jpg,04.jpg"   pict_high="01.jpg,01.jpg,02.jpg,03.jpg" thumb_anim=""   anim="">
    </
    nodo>
    <
    nodo titolo="ccc" anno="ccc" cliente="ccc" agenzia="ccc"   tecnica="ccc"   thumb="01.jpg"   thumb_low="01.jpg,02.jpg,03.jpg,04.jpg"   pict="01.jpg,02.jpg,03.jpg,04.jpg"   pict_high="01.jpg,01.jpg,02.jpg,03.jpg" thumb_anim=""   anim="">
    </
    nodo>
    <
    nodo titolo="ccc" anno="ccc" cliente="ccc" agenzia="ccc"   tecnica="ccc"   thumb="01.jpg"   thumb_low="01.jpg,02.jpg,03.jpg,04.jpg"   pict="01.jpg,02.jpg,03.jpg,04.jpg"   pict_high="01.jpg,01.jpg,02.jpg,03.jpg" thumb_anim=""   anim="">
    </
    nodo
    non riesco a venirne a capo, ma devo usare as0.3 o 0.2?

  4. #4
    Utente di HTML.it L'avatar di and80
    Registrato dal
    Mar 2003
    Messaggi
    15,182
    mud, magari evita di portare su tutte queste discussioni per chiedere la stessa cosa per cui hai aperto già un tuo thread

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.