Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    xml: leggere attributi [F5]

    Devo leggere un file XML dove la maggioranza di dati sono attributi; il file e' fatto in questa maniera:

    <Toponimi>
    <Toponimo CAP="87042" Codice="A240" Nome="ALTOMONTE" Prefisso="0981" Provincia="CS"/>
    </toponimi>

    finora sono riuscito a parsare XML con i valori nei nodi, ma non riesco ad accedere agli attributi, che dovrebbero essere suddivisi in arrays.

    il fatto e' che non conosco cosi' bene actionscript da riscrivere la routine come servirebbe... quella che uso io e non funziona e' questa....

    function converti() {

    //cerca di dividere i tags

    principale = new XML();

    elenco = new XML();
    elementi = new XML();
    listaarticoli = new Array();
    listaelementi = new Array();

    elencoarticoli = new Array();
    elencoelementi = new Array();

    // individua il primo nodo
    principale = this.firstChild;

    //controlla il nome e e comincia a popolare gli array
    if (principale.nodeName.toLowerCase() == "toponimi"){
    listaarticoli = principale.childNodes;
    cap = new Array();
    //topocodice = new Array();
    nome = new Array();
    //topoprefisso = new Array();
    provincia = new Array();

    //riempie tutti gli array con il contenuto dei sottonodi
    for (i=0; i<=listaarticoli.length; i++) {

    //crea un array ulteriore che viene popolato con i nodi di secondo livello
    if (listaarticoli[i].nodeName.toLowerCase() == "toponimo") {
    listaelementi = listaarticoli[i].attributes;

    // popola gli array con i sottonodi di articolo
    for (attr in principale.firstChild.attributes){
    _root[attr].push(principale.firstChild.attributes[attr]);


    }


    }
    }

    }
    }


    Oltretutto il database finale, per un CD-ROM, dovrebbe contenere circa 25000 nomi, vi sembra una cosa fattibile, anche spezzando l'xml iniziale in n xml ognuno per ogni lettera dell'alfabeto?

    Grazie.

    Saimon69

  2. #2
    Utente di HTML.it L'avatar di negatyve
    Registrato dal
    Feb 2001
    Messaggi
    9,479
    Agli attributi accedi tramite l'array associativo "attributes":

    nodo.attributes

    seguito dal nome dell'attributo:

    nodo.attributes.nomeAttributo

    Nel tuo caso, ad esempio:

    tuoXML.firstChild.firstChild.attributes.CAP

  3. #3
    magari mi spieghi anche come modificare lo script, che ora il mio "omino del cervello" e' andato in pausa caffe'....

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.