Visualizzazione dei risultati da 1 a 5 su 5

Discussione: simplexml xml esterno

  1. #1

    simplexml xml esterno

    Ciao Ragazzi sto cercando di capire come funziona simplexml
    ho un file xml che è organizzato così:

    Codice PHP:

    <?php
    $doc_xml 
    = <<<XML
    <?xml version='1.0' standalone='yes'?>
    <news>
      <articolo>
        <titolo>Guida a XML</titolo>
        <info>
          <informazioni>
            <autore>Eliox</autore>
            <argomento>PHP e SimpleXML</argomento>
          </informazioni>
          <informazioni>
            <autore>Luke</autore>
            <argomento>XML in PHP e ASP</argomento>
          </informazioni>
        </info>
        <descrizione>Guida completa al parsing XML.</descrizione>
        <data type="it">21 08 06</data>
        <data type="uk">06 08 21</data>
      </articolo>
    </news>
    XML;
    ?>
    questo xml si trova su un server esterno nel file test2.php e lo richiamo con simplexml così

    Codice PHP:

    <?php
    include 'http://www.url.it/test2.php';
    $xml simplexml_load_string($doc_xml);
    echo 
    $xml->articolo[0]->descrizione;
    ?>
    risultato pagina bianca.

    se cambio include 'http://www.url.it/test2.php'; con

    include 'test2.php';

    visualizzo il contenuto.

    ora per fare delle prove mi sono chiaramente copiate il file test2.phop con l'xml in locale sul mio server, ma quello che devo richiamare è su un'altro server... cosa sbaglio?

    ciao grazie


  2. #2
    Prova con
    Codice PHP:
    $xml simplexml_load_file('http://www.url.it/test2.php'); 

  3. #3

    niente da fare

    Ciao Sandro

    grazie per la riposta ho provato in questo modo

    Codice PHP:
    $xml simplexml_load_file('http://www.url.it/test2.php'); 
    echo 
    $xml->articolo[0]->descrizione
    e anche in quest'altro

    Codice PHP:
    include 'http://www.url.it/test2.php'
    $xml simplexml_load_file($doc_xml); 
    echo 
    $xml->articolo[0]->descrizione
    ma niente da fare continua a darmi errori e non visualizza niente.


  4. #4
    che errori ti da?

  5. #5

    errori

    Ciao ho capito che non devo includere in nessun modo il file

    ora con questo script riesco a recuperare i valori dei tag solo che non riesco a recuperare il nodo tariffa:
    questo è il flusso xml:


    Codice PHP:

    <CATALOGO>
     <
    NAZIONE nome="AUSTRIA">
      <
    CITTA nome="SALISBURGO">
       <
    TESSERA nome="Salzburg Card">
        <
    descrizione_breve><![CDATA[48 o 72 ore di libera circolazione sui trasporti pubbliciingresso gratuito ]]></descrizione_breve>
        <
    TIPOTESSERA nome="Salzburg Card">
         <
    descrizione_aggiuntiva/>
         <
    TARIFFA nome="48 ore ragazzi" tipo_tariffa="ragazzi 6-15" prezzo="1680" disponibile="1">
          <
    descrizione><![CDATA[ragazzi da 6 a 15 anni]]></descrizione>
          <
    descrizione_aggiuntiva/>
         </
    TARIFFA>
         <
    TARIFFA nome="72 ore ragazzi" tipo_tariffa="ragazzi 6-15" prezzo="1940" disponibile="1">
          <
    descrizione><![CDATA[ragazzi da 6 a 15 anni]]></descrizione>
          <
    descrizione_aggiuntiva/>
         </
    TARIFFA>
         <
    TARIFFA nome="48 ore adulti" tipo_tariffa="adulti neutro" prezzo="3360" disponibile="1">
          <
    descrizione><![CDATA[adulti]]></descrizione>
          <
    descrizione_aggiuntiva/>
         </
    TARIFFA>
         <
    TARIFFA nome="72 ore adulti" tipo_tariffa="adulti neutro" prezzo="3880" disponibile="1">
          <
    descrizione><![CDATA[adulti]]></descrizione>
          <
    descrizione_aggiuntiva/>
         </
    TARIFFA>
        </
    TIPOTESSERA>
       </
    TESSERA>
      </
    CITTA



    e questo è il codice che utilizzo e che mi riesce a far leggere il flusso tranne il nodo TARIFFA

    Codice PHP:
    $catalogo=simplexml_load_file('http://www.url.it/test.php');
    foreach(
    $catalogo->children() as $nazione)    //ciclo nazioni
    {
        
    $attr_nazione $nazione->attributes();    
        echo 
    $nazione->getName()." : ".$attr_nazione['nome']."
    "
    ;

        foreach (
    $nazione->children() as $citta)   //ciclo città
        
    {
                
    $attr_citta $citta->attributes();    
                echo 
    ">>".$citta->getName()." : ".$attr_citta['nome']."
    "
    ;
        
                        foreach (
    $citta->children() as $tessera)   //ciclo tessera
                        
    {
                                
    $attr_tessera $tessera->attributes();    
                                echo 
    ">>>>".$tessera->getName()." : ".$attr_tessera['nome']."
    "
    ;
                                 echo 
    ">>>>>>Descrizione : ".$tessera->descrizione_breve."
    "
    ;
                                 
    //mi da errore qui!!!!                         
    $attr_tariffa $tessera->tipotessera->attributes(); 
    echo 
    ">>>>>>>>Tariffa : ".$attr_tariffa['nome']."
    "
    ;

                        }
                    
        }

    mi da errore dove ho messo il commento prima delle tariffe
    Warning: main() [function.main]: Node no longer exists in


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.