Programmatore Freelance | Realizzazione di Script PHP di Applicazioni per il Web | Realizzazione di Script PHP XML | Realizzazione Siti Internet | Programmatore PHP
Leggere XML con PHP
Scritto da: Daniele Tabacco | Categoria: Script PHP|commenti Commenti: (0)

Questo Nuovo Articolo realizzato da me come Programmatore PHP, vi illustra come leggere un XML con PHP
In questo Particolare caso vogliamo leggere solo un elemento all'interno di un nodo, e come esempio ho utilizzato la sitemap del mio sito, in modo da leggerne solo il valore LOC del nodo URL
PHP rende possibile ad un Programmatore PHP l'interazione con file XML grazie ad alcune funzioni che mette a disposizione, tali funzioni consentono la lettura degli elementi di un file XML.
All'interno di questo Script realizzato abbiamo utilizzato le funzioni xml_set_element_handler, xml_set_character_data_handler e xml_parser_free di cui potete leggere i relativi riferimenti.

<?php
//File da includere
$filename="sitemap.xml";
//Se il file non esiste o non è raggiungibile
if(!($fp = fopen( "$filename" , "r")))
die("Il file non esiste o non può essere aperto.");
//Conto gli elementi che trovo all'interno dell xml
$contatore_persone = 0;
//Inizializzo l'array di elementi trovati
$elemento_xml = array();
//Inizializzo lo status a vuoto
$xml_stato_tag_corrente = '';

//Funzione per inizio del Nodo dell'elemento
function startElementHandler( $parser, $nome_elemento, $attributi_elemento ){
global $contatore_persone;
global $elemento_xml;
global $xml_stato_tag_corrente;
$xml_stato_tag_corrente = $nome_elemento;
}
//Funzione per la fine del Nodo dell'elemento, con incremento del contatore di elementi trovatati
function endElementHandler( $parser, $nome_elemento ){
global $contatore_persone;
global $elemento_xml;
global $xml_stato_tag_corrente;
$xml_stato_tag_corrente = '';
//Il nodo principale del XML che voglio leggere è specificato con l'etichetta seguente
if( $nome_elemento == "URL" )
$contatore_persone++;
}
//Funziona che recupera le informazioni del nodo se questo è uguale a LOC
function characterDataHandler( $parser , $data ){
global $contatore_persone;
global $elemento_xml;
global $xml_stato_tag_corrente;
//Se all'interno del nodo trov nulla esco dalla funzione
if( $xml_stato_tag_corrente == '' )
return;
//Se all'interno del nodo corrente trovo l'etichetta che mi interessa ne prendo le informazioni
if( $xml_stato_tag_corrente == "LOC" )
$elemento_xml[$contatore_persone]["loc"] = $data;
}
if( !($xml_parser = xml_parser_create()) )
die("Couldn't create XML parser!");
//Funzione che definisce l'inizio e la fine del nodo
xml_set_element_handler($xml_parser,'startElementHandler','endElementHandler');
//Funzione che definisce il nodo di cui vogliamo conoscere le informazioni
xml_set_character_data_handler($xml_parser, "characterDataHandler");
//Inizializzo la lettura del file fino a quando non finise il file
while( $data = fread($fp, 4096) ){
if( !xml_parse($xml_parser, $data, feof($fp)) ){
break;
}
}
xml_parser_free($xml_parser);
//Scorro l'arrei di informazioni recuperate al fine di mostrarle a video
for( $i=0 ; $i < $contatore_persone ; ++$i ){
echo $elemento_xml[$i]["loc"] . "<br />";
}
?>

In questo Script PHP un Programmatore PHP può modificare il valore che deve essere letto oppure aumentare i campi di lettura modificando la riga if( $xml_stato_tag_corrente == "LOC" ) e aggiungendo altri valori, al fine di leggere un intero file XML. Di questo Script è possibile Guardare un esempio che legga tutti i collegamenti contenuti nella mia Sitemap

 

Commenti:
.Nessun commento Presente.









Captcha
Copia i caratteri che vedi sopra:

Tags: | torna su


linkedIn


Contattami su Skype:
Il mio stato

Archivio Articoli:
Semplice Script Base per Realizzare un semplice carrello elettronico con Javascript
Perchè creare la Pagina Facebook della propria attività
Leggere una directory con PHP
Scegliere come Consulente un Programmatore PHP Freelance
Leggere XML con PHP
Php su Mac Apple
Selezionare più righe da una tabella utilizzando MySQL.
Status e URL Valide con PHP 5 e get_headers();
Guida alle Join di MySQL
Programmatore PHP e Programmazione ad Oggetti.
Un semplice esempio di AJAX
Creazione una Select Dinamica con Javascript
Scegliere un CMS Open Source per il proprio progetto.
Realizzare un Codice Captcha
Perchè Scegliere PHP? Perchè Programmatore PHP?
Restyling di un Applicazione o Portale Web con PHP

Cerchi un Programmatore PHP con esperienza consolidata, già molte aziende a Napoli, Milano, Roma e Ferrara si sono affidate a me. Contattami per una Consulenza Gratuita, per Realizzare Applicazioni Web o Sviluppare Siti Internet e Creare Portali Dinamici.

Risorse utili per PHP:

Partners & Consigliati:

NGMWeb Hosting & Servizi

MioMotore Directory Gratis

ADServer Gestione Banner


Nuove Collaborazioni:

cocreando
 
Daniele Tabacco - Questo sito e' interamente realizzato da me secondo gli standard del W3C - css valido w3c css valido xhtml