Ciao a tutti,
ho la necessita di leggere dei dati da un file XML.
Cercando informazioni su questo forum in merito alla mia richiesta ho sviluppato questa funzione:
Codice PHP:
function leggiXml($nome_file_xml,$tag_principale,$tag_dato)
{
$quanti= 20;
$indice = 256;
$contatore = 0;
$apri_xml = fopen($nome_file_xml, 'r');
while(!feof($apri_xml))
{
$buffer = ltrim(Chop(fgets($apri_xml, $indice)));
if (($buffer == "<$tag_principale>") && ($contatore < $quanti))
{
$dato = ltrim(Chop(fgets($apri_xml, $indice)));
$dato = ereg_replace( "<$tag_dato>", "", $dato );
$dato = ereg_replace( "</$tag_dato>", "", $dato );
$contatore++;
}
}
fclose($apri_xml);
return $dato;
}
Il file xml è così strutturato:
Codice PHP:
<?xml version="1.0" encoding="utf-8"?>
<config>
<pagina1>
<titolo>il vecchio e il mare</titolo>
<testo>ciao come va</testo>
<immagine>c:\dd.jpg</immagine>
</pagina1>
</config>
Per leggere ad esempio il contenuto del tag titolo, faccio così:
Codice PHP:
echo leggiXml("test.xml","pagina1","titolo");
E così funziona... MA se voglio leggere più tag e scrivo questo:
Codice PHP:
echo leggiXml("test.xml","pagina1","titolo");
echo leggiXml("test.xml","pagina1","testo");
echo leggiXml("test.xml","pagina1","immagine");
mi restituisce sempre
il vecchio e il mare il vecchio e il mare il vecchio e il mare
Dove sto sbagliando??
Grazie.