Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Ciclo su nodo xml

  1. #1

    Ciclo su nodo xml

    Ciao a tutti,
    ho un xml così strutturato:
    Codice PHP:
    <annunci>
        <
    annuncio>
            <
    id_annuncio>123</id_annuncio>
            <
    foto>
                <
    link><![CDATA[[url]http://www.miosito.com/foto/005.jpg[/url]]]></link>
            
    </foto>
                                <
    foto>
                <
    link><![CDATA[[url]http://www.miosito.com/foto/006.jpg[/url]]]></link>
            
    </foto>
                                <
    foto>....</foto>
                    </
    annuncio>
                    <
    annuncio>....</annuncio>
             </
    annunci
    Con Simple Large XML Parser creo un array con i dati del documento xml.
    Con un primo for, ciclo il nodo "annuncio"
    Codice PHP:
    for($i 0$i <= count($array)-1$i++){
    ...

    Con un for ciclo i nodi "foto" e per ogni nodo devo leggere i dati exif dell'immagine. Ma come leggo il nodo?
    Es.
    Codice PHP:
    for($z 0$z <=count($array[$i]["foto"])-1$z++){
    $exif exif_read_data(come_recupero_il_nodo_qua0true);

    laddove non so come recuperare il valore del nodo.
    Any help?

  2. #2
    Prova con print_r($array) e vedi come è strutturato l'array.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Non è quello il problema, il problema è come richiamare il nodo "link"
    A pensarci bene potrebbe essere
    Codice PHP:
    for($z 0$z <=count($array[$i]["foto"])-1$z++){ 
    $exif exif_read_data($array[$i]["foto"][$z]["link"], 0true); 

    Che ne dici?

  4. #4
    Originariamente inviato da Dirk Pitt
    Non è quello il problema, il problema è come richiamare il nodo "link"
    Non capisco cosa stai dicendo!
    Quello che ti ho suggerito serve proprio per verificare la struttura dell'array!
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    Il mio problema non è come verificare la struttura dell'array, bensì come accedere all'interno dei due cicli al nodo annunci->annuncio->foto->link
    Es.
    Codice PHP:
    for($i 0$i <= count($array)-1$i++){
       for(
    $z 0$z <=count($array[$i]["foto"])-1$z++){  
          
    $exif exif_read_data($array[$i]["foto"][$z]["link"], 0true);  
       }

    La domanda è: scrivendo $array[$i]["foto"][$z]["link"] ottendo effettivamente il valore del nodo link del nodo foto?
    Mi preme sapere se la sintassi è giusta.
    L'array è siffatto:
    codice:
    Array
    (
        [0] => Array
            (
                [id_annuncio] => Array
                    (
                        [0] => 123
                    )
    
                [foto] => Array
                    (
                        [0] => Array
                            (
                                [link] => Array
                                    (
                                        [0] => http://www.miosito.com/foto/005.jpg
                                    )
    
                            )
    
                        [1] => Array
                            (
                                [link] => Array
                                    (
                                        [0] => http://www.miosito.com/foto/006.jpg
                                    )
    
                            )
                   )
    
            )
    
    )

  6. #6
    Originariamente inviato da Dirk Pitt
    La domanda è: scrivendo $array[$i]["foto"][$z]["link"] ottendo effettivamente il valore del nodo link del nodo foto?
    Mi preme sapere se la sintassi è giusta.
    Se la struttura dell'array è quella descritta dovrebbe essere corretto.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Originariamente inviato da satifal
    Se la struttura dell'array è quella descritta dovrebbe essere corretto.
    Oooohhh ci andava tanto?!
    Scherzo

    Ti ringrazio, ora vedo se funziona

  8. #8
    Questo è il ciclo corretto:
    Codice PHP:
    for($i 0$i <= count($array)-1$i++){ 
       for(
    $z 0$z <=count($array[$i]["foto"])-1$z++){   
          
    $exif exif_read_data($array[$i]["foto"][$z]["link"][0], 0true);
       } 


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.