Visualizzazione dei risultati da 1 a 6 su 6

Discussione: xml

  1. #1

    xml

    ciao raga, per necessità devo parsare come se fosse xml una stringa che formattata come xml e che è definita in _root.
    Mi spiego meglio, mi viene settata la variabile
    codice:
    _root.edi = "<reader><riviste><numb>Suap</numb><numb>Enti locali</numb><numb>PIT magazine</numb><numb>Unione Informa</numb></riviste><edicola><numb rivista='Suap' file='suap/200603' anno='2006' mese='SUAP' numero='1'>pagine/1.jpg</numb><numb rivista='Enti locali' file='entilocali/200604' anno='2006' mese='Enti locali' numero='1'>pagine/1.jpg</numb><numb rivista='PIT magazine' file='pitmagazine/200604' anno='2006' mese='Aprile' numero='1'>pagine/1.jpg</numb><numb rivista='PIT magazine' file='pitmagazine/200605' anno='2006' mese='Maggio' numero='2'>pagine/1.jpg</numb><numb rivista='PIT magazine' file='pitmagazine/200606' anno='2006' mese='Giugno' numero='3'>pagine/1.jpg</numb><numb rivista='PIT magazine' file='pitmagazine/200607' anno='2006' mese='Luglio' numero='4'>pagine/1.jpg</numb><numb rivista='Unione Informa' file='unioneinforma/20061006' anno='2006' mese='Ottobre' numero='1'>pagine/1.jpg</numb></edicola></reader>";
    siccome devo utilizzare i valori all'interno di questa variabile, la devo passare come se fosse un file xml, e inserire i suoi valori in alcuni array:
    codice:
    var extXML= new XML(_root.edi);
    var rootNode = extXML.firstChild;
    _root.arrayriviste = new Array();
    .....
    //passo il file e faccio un push
    var rivista = this._removeWhite(riviste[i].firstChild.nodeValue);
    _root.arrayriviste.push(rivista);
    il problema è che fin dall'inizio non riesco a dire a flash che _root.edicola è una stringa XML.
    secondo voi dove sbaglio?

  2. #2
    nessuno mi aiuta? HELP!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    spero di aver capito bene
    NB: la variabile edi è come quella che hai inserito prima

    codice:
    edi = "<reader><riviste><numb>Suap</numb>.................";
    extXML= new XML(_root.edi);
    myValue = extXML.firstChild.firstChild.childNodes;
    myArray = new Array();
    for(i=0; i<myValue.length; i++){
    	trace(myValue[i].childNodes);
    	trace("---------------");
    	myArray.push(myValue[i].childNodes);
    }
    trace(myArray);

  4. #4
    funziona alla grande, ma se voglio passare al secondo nodo ho provato con:
    codice:
    ediXML.firstChild.nextSibling
    ma non va!! devo fare un cliclo?

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2004
    Messaggi
    641
    scusa, hai ragione. non avevo visto bene la struttura dell'xml
    prova così:

    codice:
    myValue = extXML.firstChild.childNodes;
    for(j=0; j<myValue.length; j++){
    	for(k=0; k<myValue[j].childNodes.length; k++){
    		trace("--> " + myValue[j].nodeName + ":")
    		trace(myValue[j].childNodes[k].childNodes)
    		trace("-------------------")
    	}
    	trace("\n\r /* FINE BLOCCO */ \n\r")
    }
    spero sia corretto

  6. #6
    ho risolto co un cliclo, assegnando ad ogni oggetto XML che si creava un array.

    Grazie e ciauz

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.