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

    Conoscere tutti gli attributi di un nodo XML

    C'è un modo per ricavare tutti gli attributi che ha un determinato nodo XML? Magari in un array?

  2. #2
    questo potrebbe esserti utile

    http://flash-mx.html.it/guide/view_l...uida=10&id=211

    ciao
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  3. #3
    Originariamente inviato da crescenzo
    questo potrebbe esserti utile

    http://flash-mx.html.it/guide/view_l...uida=10&id=211

    ciao
    ehm, come leggere un file xml lo so bene, il mio problema è sapere se in qualche modo, leggendo un nodo, posso sapere quanti attributi ha quel nodo.
    ad esempio se io ho un nodo fatto così:

    <nodo titolo="pippo" nome="pino" cognome="pluto">questo è strano</nodo>

    io vorrei avere un array con i nomi degli attributi.

  4. #4
    si scusa ma nn avevo capito il tuo problema (distratto dalla lezione) cmq leggendo meglio sempre la guida di lai potevi ottenere una cosa del genere
    supponendo che questo sia il tuo file xml

    <nodo titolo="pippo" nome="pino">questo è strano</nodo>


    function Dati () {

    // Array che contengono i Dati -----------------------
    titolonodo = new Array();
    nomenodo = new Array();

    // ---------------------------------------------------

    for (k=0; k<=myarray.length; k++) {

    if (myarray[k].nodeName == "nodo") {
    titolonodo.push(myarray[k].attributes.titolo);
    nomenodo.push(myarray[k].attributes.nome);
    }
    };
    };

    se vuoi mettere gli attributi in due array differenti se vuoi mettereli nello stesso array
    basta

    function Dati () {

    // Array che contengono i Dati -----------------------
    titolonodo = new Array();


    // ---------------------------------------------------

    for (k=0; k<=myarray.length; k++) {

    if (myarray[k].nodeName == "nodo") {
    titolonodo.push(myarray[k].attributes.titolo);
    titolonodo.push(myarray[k].attributes.nome);
    }
    };
    };

    e metterai i due attributi nello stesso array titolonodo
    ciao
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  5. #5
    Originariamente inviato da crescenzo
    si scusa ma nn avevo capito il tuo problema (distratto dalla lezione) cmq leggendo meglio sempre la guida di lai potevi ottenere una cosa del genere
    supponendo che questo sia il tuo file xml

    <nodo titolo="pippo" nome="pino">questo è strano</nodo>


    function Dati () {

    // Array che contengono i Dati -----------------------
    titolonodo = new Array();
    nomenodo = new Array();

    // ---------------------------------------------------

    for (k=0; k<=myarray.length; k++) {

    if (myarray[k].nodeName == "nodo") {
    titolonodo.push(myarray[k].attributes.titolo);
    nomenodo.push(myarray[k].attributes.nome);
    }
    };
    };

    se vuoi mettere gli attributi in due array differenti se vuoi mettereli nello stesso array
    basta

    function Dati () {

    // Array che contengono i Dati -----------------------
    titolonodo = new Array();


    // ---------------------------------------------------

    for (k=0; k<=myarray.length; k++) {

    if (myarray[k].nodeName == "nodo") {
    titolonodo.push(myarray[k].attributes.titolo);
    titolonodo.push(myarray[k].attributes.nome);
    }
    };
    };

    e metterai i due attributi nello stesso array titolonodo
    ciao
    Uhm, forse non mi sono spiegato bene
    In pratica io non so i nomi degli attributi, e non so neanche se ce n'è 1 o 1000, semplicemente quando scorro l'xml, controllo se il nodo ha degli attributi e se si quanti ne ha e quali sono i nomi, quindi mi chiedevo se esiste una funzione (che nel manuale non ho trovato) e che mi dica se un dato nodo ha tot attributi, magari potendoli mettere in un array.

  6. #6
    Uhm, forse non mi sono spiegato bene
    In pratica io non so i nomi degli attributi, e non so neanche se ce n'è 1 o 1000, semplicemente quando scorro l'xml, controllo se il nodo ha degli attributi e se si quanti ne ha e quali sono i nomi, quindi mi chiedevo se esiste una funzione (che nel manuale non ho trovato) e che mi dica se un dato nodo ha tot attributi, magari potendoli mettere in un array.
    nn ho capito questo file xml comè fatto in che senso nn sai quanti attributi ha un nodo
    cioe potrebbe essere

    <nodo titolo="pippo" nome="pino">questo è strano</nodo>

    o magari

    <nodo titolo="pippo" nome="pino" cognome="pluto">questo è strano</nodo>

    ma nn lo sai a priori?xche? e generato dinamicamente?
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  7. #7
    Originariamente inviato da crescenzo
    nn ho capito questo file xml comè fatto in che senso nn sai quanti attributi ha un nodo
    cioe potrebbe essere

    <nodo titolo="pippo" nome="pino">questo è strano</nodo>

    o magari

    <nodo titolo="pippo" nome="pino" cognome="pluto">questo è strano</nodo>

    ma nn lo sai a priori?xche? e generato dinamicamente?
    In pratica io ho una funzione che mi legge tutto il contenuto di un file xml e crea un oggetto, il quale ha dentro delle variabili che sono i nomi dei nodi, e il valore di queste variabili sono i valori dei nodi.
    Poi ho fatto in modo che se dentro il nodo ci sono altri nodi, crea un array con i valori dei sottonodi.
    Questo va già molto bene, solo che volevo migliorarlo in modo da poter leggere vari attributi.
    Il file xml non è sempre uguale, poichè contiene tutti i dati del sito, e potrebbe essere strutturato così:
    <xml>
    <dati>
    <pippo>pluto</pluto>
    <gino>
    <elemento>uno</elemento>
    <elemento>due</elemento>
    </gino>
    </dati>
    </xml>

    La mia funzione in pratica mi restituisce un oggetto con dentro una variabile di nome "pippo" e di valore "pluto", e un array di nome "gino" con i valori "uno" e "due".
    Io vorrei aggiungere la possibilità di leggere gli attributi, in modo da potenziare questa funzione, magari creando un sottoarray o qualcosa del genere, ma prima di fare ciò devo sapere se l'AS ha una funzione che mi può tirare fuori gli attributi da un nodo.
    Mettiamo il caso che il file XML sia fatto così:
    <xml>
    <dati>
    <pippo>pluto</pluto>
    <gino>
    <elemento titolo="ciao" testo="ciao ciao">uno</elemento>
    <elemento titolo="ciao2" testo="ciao ciao">due</elemento>
    </gino>
    <gino2>
    <elemento>uno</elemento>
    <elemento>due</elemento>
    </gino2>
    </dati>
    </xml>
    Io devo sapre in qualche modo se gli elementi figli del nodo "gino" hanno degli attributi, quanti ne hanno e come si chiamano. Tutto qui

  8. #8
    Mettiamo il caso che il file XML sia fatto così:
    <xml>
    <dati>
    <pippo>pluto</pluto>
    <gino>
    <elemento titolo="ciao" testo="ciao ciao">uno</elemento>
    <elemento titolo="ciao2" testo="ciao ciao">due</elemento>
    </gino>
    <gino2>
    <elemento>uno</elemento>
    <elemento>due</elemento>
    </gino2>
    </dati>
    </xml>
    Io devo sapre in qualche modo se gli elementi figli del nodo "gino" hanno degli attributi, quanti ne hanno e come si chiamano
    ok capito quindi potrebbero anche esserci 100 attributi x un nodo
    e x un'altro nessuno
    nn so se esiste una funzione che ti controlla l'esistenza o meno degli attributi x un nodo
    la verità non è una meretrice che si getta al collo di chi non la vuole ma anzi essa è dotata di una così altera bellezza che anche chi sacrifica tutto per ottenerla non è sicuro di averla raggiunta !

  9. #9
    Originariamente inviato da crescenzo
    ok capito quindi potrebbero anche esserci 100 attributi x un nodo
    e x un'altro nessuno
    nn so se esiste una funzione che ti controlla l'esistenza o meno degli attributi x un nodo
    Mi sa anche a me che non esiste, infatti sto pensando di usare dei sottonodi, però speravo di sbagliarmi

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.