Visualizzazione dei risultati da 1 a 6 su 6

Discussione: simplexml_load_file

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    417

    simplexml_load_file

    deve ricavare da xml solo <descrizione lingua="IT"><Testo>testo inserito</testo></descrzione> con php
    $xml = simplexml_load_file($dati);
    come devo fare? non riesco a capire per tutte le altre situazioni tipo
    $xml->titolo;
    $xml->autore;
    ecc tutto ok
    ma
    $xml->descrizione.........
    non saprei
    grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    417
    Nessuna risposta? mi spiego meglio:
    ho questo XML
    <Descrizioni>
    <Descrizione Lingua="EN">
    <Testo>
    Testo Inglese.
    </Testo>



    </Descrizione>


    <Descrizione Lingua="IT">
    <Testo>
    Testo Italiano.
    </Testo>



    </Descrizione>



    </Descrizioni>
    devo fare il parsing per la parte italiana:
    $dati = 'dati.xml';
    $xml = simplexml_load_file($dati);
    $testo = $xml->Descrizioni->Descrizione->Testo;
    ma mi ricava solo la parte inglese non riesco a prendere la parte italiana (solo quella italiana)
    mi potete aiutare con un esempio? dove devo mettere Lingua="IT"?
    grazie

  3. #3
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Puoi usare xpath:
    Codice PHP:
    $dati 'dati.xml';
    $xml simplexml_load_file($dati);
    // Relativo all'esempio che hai postato
    $descIT $xml->xpath('/Descrizioni/Descrizione[@Lingua="IT"]/Testo'); 

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    417
    il problema che è dentro un array
    avevo provato così ma non funziona
    <?php foreach($xml->Immobile as $Immobile) {
    $prezzo = $Immobile->Prezzo;
    $prezzo = intval($prezzo);
    $testo = $Immobile->xpath("Descrizioni/Descrizione[@Lingua='IT']/Testo");
    $testo = substr($testo, 0,360);
    ?>
    mi stampa tutti i dati, prezzo ed ogni altra cosa che richiamo con $Immobile->.....
    ma non il testo

  5. #5
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Hai visto con var_dump cos'è $testo ? Cmq dovrebbe restituirti un array quini non ha senso fare substr.
    Prova così:
    Codice PHP:
    $testo $Immobile->xpath("Descrizioni/Descrizione[@Lingua='IT']/Testo");
    echo (string)
    $testo[0]; 

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    417
    Perfetto Grazie mille funziona

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.