Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: PHP e DOMXML per il parsing XML :: Indice Php

PHP e DOMXML per il parsing XML

Categoria: Php Inserito il: 04-01-2006 Stampa (9061 click)

Il parser di tipo DOM è un API sviluppata dal consorzio W3C che ci permette di avere accesso ad informazioni strutturate secondo gli standard dei metalinguaggi come XML e HTML.
Attraverso DOM, un documento viene rappresentato come una gerarchia strutturata per nodi: documento, elementi, attributi, contenuti e così via.

PHP supporta DOM ed è possibile effettuare azioni di parsing su documenti XML utilizzando questo strumento.

Innanzitutto, per l'utilizzo combinato di PHP e DOM dovremo assicurarci di disporre dell'apposita libreria php_domxml.dll.
Apriamo la nostra cartella "extensions" (o "ext") all'interno della directory principale di PHP, se troviamo la "dll" ciata saremo già a metà dell'opera, diversamente potremo scaricare la collection di "dll" per la nostra versione di PHP da questo link.
Un volta recuperata la libreria dovremo copiarla nella cartella "extensions", poi apriamo il php.ini e decommentiamo la riga ";extension=php_domxml.dll" eliminando il punto e virgola; salviamo le modifiche e riavviamo Apache.

Un'avvertenza importante è quella realtiva al carattere sperimentale di questa estensione, la tipologia di supporto e le funzioni dedicate cambiano spesso quindi ciò che noi facciamo ora potrebbe non essere più utilizzabile in futuro.

Presentiamo un piccolo esempio di codice PHP per la creazione di un docunemto XML:

$domxml = new DOMDocument('1.0');

$item = $domxml->appendChild($domxml->createElement('item'));

$titolo = $item->appendChild($domxml->createElement('titolo'));

$titolo->appendChild($domxml->createTextNode('titolo titolo titolo'));

echo $domxml->saveXML();
da cui otteremo il seguente output:
<?xml version="1.0"?>
<item>
 <titolo>titolo titolo titolo</titolo>

</item> 
appendChild() accoda un nuovo figlio alla gerarchia e quindi appende un elemento all'albero di DOM, come si avrà modo di notare viene richiamato in tutti gli eventi creativi.

createElement() presiede alla creazione di un elemento (nodo), nel nostro caso abbiamo la creazione di un nodo, "$item", che rappresenta la radice (root) del documento e di un elemento derivato, "$titolo", da appendere al root.

createTextNode() stabilisce l'introduzione di un contenuto (text node), nel nostro caso "titolo titolo titolo", creiamo così un ulteriore elemento da appendere all'albero nel punto più profondo della gerarchia.

A questo punto non ci rimane altro che passare alla produzione dell'output che sarà appunto il file XML desiderato.

Attenzione: questo articolo è stato concesso in esclusiva per la pubblicazione a Mrwebmaster.it; ne è vietata la riproduzione, anche parziale, senza l'esplicito consenso dell'autore e della redazione di Mrwebmaster.it.

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle più importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Accesso agli elementi di un file XML con SimpleXML e PHP
La funzione simplexml_load_string() interpreta una stringa, contenuta in un documento XML, all'interno di un oggetto della classe SimpleXMLElement le cui... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti