Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Cercare con xml

  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025

    Cercare con xml

    Salve.
    Sono alle prime armi con xml, come posso estrarre tutti gli elementi di un nodo, passando solo un singolo elemento di ricerca?
    Nell'esempio sotto vorrei estrarre tutti i dati della persona passando la variabile del cognome "Rossi".
    codice:
    <persone>
                  <persona>
    			<nome>Bruno</nome>
    			<cognome>Rossi</cognome>
    			<eta>39</eta>
    			<indirizzo>Via Dei mille 15</indirizzo>
    		</persona>
    
    		<persona>
    			<nome>Luigi</nome>
    			<cognome>Bianco</cognome>
    			<eta>45</eta>
    			<indirizzo>Via del corso 48</indirizzo>
    		</persona>
    </persone>
    Qui c'è un link a cui faccio riferimento per le funzioni.
    http://www.w3schools.com/php/php_ref_simplexml.asp
    Grazie.

  2. #2

  3. #3
    Puoi provare una cosa del genere:

    Codice PHP:
    <?php
    function search($xmlstr$key) {
        
    $data = array();
        
    $xml simplexml_load_string($xmlstr);
        foreach(
    $xml->persona as $persona){
            if (
    $persona->cognome == $key) {
                
    $data['nome'] = (string)$persona->nome;
                
    $data['cognome'] = (string)$persona->cognome;
                
    $data['eta'] = (string)$persona->eta;
                
    $data['indirizzo'] = (string)$persona->indirizzo;
                break;
            }
        }
        return 
    $data;
    }

    $xml '
    <persone>
        <persona>
            <nome>Bruno</nome>
            <cognome>Rossi</cognome>
            <eta>39</eta>
            <indirizzo>Via Dei mille 15</indirizzo>
        </persona>
        <persona>
            <nome>Luigi</nome>
            <cognome>Bianco</cognome>
            <eta>45</eta>
            <indirizzo>Via del corso 48</indirizzo>
        </persona>
    </persone>
    '
    ;

    $data search($xml"Rossi");

    print_r($data);
    ?>
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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 © 2024 vBulletin Solutions, Inc. All rights reserved.