Visualizzazione risultati 1 fino 3 di 3

Discussione: [Action Script 2] Aiuto lettura file xml

  1. #1
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito [Action Script 2] Aiuto lettura file xml

    Salve,

    Sul sito html.it ho letto come gestire un file xml con action script 2, non avendolo capito molto bene, sono andato su altri forum per sapere come fare a memorizzare in un'array l'elementi xml.

    Questo è il file xml che vorrei poter leggere:
    Codice:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <root>
     <primo_nodo />
     <secondo_nodo />
    </root>
    Fino ad ora ho scritto questo codice:
    Codice:
    var xml = new XML();
    var arr = new Array();
    xml.ignoreWhite = true;
    xml.load("archivio.xml");
    xml.onLoad = function(success) {
       if (success) {
          arr = xml.childNodes;
      }
    			
       for (i = 0; i <= arr.length; i++)
       {
           trace((i + 1) + "° Elemento => " + arr[i] + "\n");
       }
    }
    Mi viene restituito il seguente output:
    Codice:
    1° Elemento => <root><primo_nodo /><secondo_nodo /></root>
    2° Elemento => undefined
    Mentre io vorrei che mi restituisca questo:
    Codice:
    1° Elemento => <root>
    2° Elemento => <primo_nodo />
    3° Elemento => <secondo_nodo />
    4° Elemento => </root>
    EDIT:
    C'è qualcuno che mi può spiegare come modificare il codice per fare quello che io indento o mi potrete consigliare qualche tutorial adatto alle mie intenzioni?
    Ultima modifica di sevenjeak : 22-04-2010 alle ore 16.21.26

    Sevenjeak
    Software developer and much more

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Non conoscendo l'action script, comunque noto un errore qui:
    Codice:
          arr = xml.childNodes;
    Ecco perchè in elemento 1 hai tutta la root.
    Mentre:
    Codice:
          arr = xml.documentElement.childNodes;
    Credo dovrebbe funzionare, però ti esclude il tag root dato che è documentElement e visualizzerai:

    Codice:
    1° Elemento => <primo_nodo />
    2° Elemento => <secondo_nodo />
    Inoltre, se avrai ancora problemi, modifica il loop:
    Codice:
    for (i = 0; i < arr.length; i++)

  3. #3
    L'avatar di sevenjeak
    sevenjeak non è connesso AlterGuru
    Data registrazione
    25-10-2007
    Residenza
    Roma
    Messaggi
    1,767

    Predefinito

    Grazie per la risposta ma non funziona

    EDIT

    Ho risolto.

    Ricercando su internet ho modificato il mio codice in questo modo:
    Codice:
    var xml = new XML();
    var arr = new Array();
    xml.ignoreWhite = true;
    xml.load("archivio.xml");
    xml.onLoad = function(success) {
       if (success) {
          arr = xml.filstChild.childNodes;
      }
    			
       for (i = 0; i <= arr.length; i++)
       {
           trace((i + 1) + "° Elemento => " + arr[i] + "\n");
       }
    }
    Ora suppongo che con xml.firstChild.childNodes si evita la lettura del primo elemento ( la radice ) del documento, ma dovrei vedere meglio
    Ultima modifica di sevenjeak : 22-04-2010 alle ore 18.29.43

    Sevenjeak
    Software developer and much more

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •