gototopgototop
 
Sei in: Home Page Corso XML Visualizzare documenti XML con il DOM

Visualizzare documenti XML con il DOM

In questa lezione vedremo un modello di programmazione diverso, che prende il nome di W3CDOM, che sta per: Document Object Model. Il DOM è l' interfaccia di programmazione standardizzata W3C per i documenti XML. Il W3C DOM tratta i documenti come strutture di nodi. In questo modello ogni elemento costituisce un nodo, mentre gli elementi figlio sono considerati dei sottonodi. Per esempio si prenda in esame il seguente codice di un documento XML:

<?xml version="1.0"?>
<document>
<oggetto>
Saluti
</oggetto>
<messaggio>
Un caloroso messaggio di saluti a tutti.
</messaggio>
</document>

Questo documento ha un nodo di istruzione di elaborazione ed un nodo di elemento principale che corrisponde all' elemento <document>. Il nodo <document> ha due sottonodi: il nodo <oggetto> ed il nodo <messaggio>. Questi sono nodi figli di <document> e sono di pari livello tra di loro. Sia <oggetto> che <messaggio> hanno un sottonodo, costituito da un nodo di testo contenente dati relativi ai caratteri. Ogni singolo dato è considerato un nodo. Utilizzando i metodi definiti dal W3CDOM, è possibile spostarsi tra le diverse diramazioni della struttura del documento.

Collegare un documento XHTML alla pagina XML

Per accedere ad un documento XML da una pagina XHTML si utilizza l'oggetto XMLDocument, come dal codice seguente:

Document = dsoNomeElementoPrincipale.XMLDocument;

L'oggetto XMLDocument è noto come nodo Document e lo si utilizzerà per accedere a tutti gli altri oggetti DOM. Come ho scritto più su, gli oggetti che formano una pagina XML sono noti come nodi. Quando IE elabora un documento XML collegato, crea un nodo per ogni componente del documento, che può essere un elemento, un attributo, un commento ecc.....
Si veda il seguente file di esempio xml; esso è costituito da un elemento principale LIBRO e da 5 elementi secondari. Adesso dobbiamo creare un file XHTML che ci permetta di visualizzare il contenuto del file precedente. Esso è un normalissimo file contenente all' interno dei tag <head> il seguente codice:

<script language="JavaScript" type="text/javascript" FOR="window" EVENT="ONLOAD">
Document = dsoLIBRO.XMLDocument;

La prima riga di codice specifica quale linguaggio di scripting serve per accedere ad un file xml e, soprattutto, l' istruzione FOR="window" EVENT="ONLOAD"> fa in modo che il browser esegua il codice nell' elemento Script quando apre la pagina, prima di visualizzarne il contenuto. Poi lo script ottiene il nodo Document che rappresenta l' intero documento e genera la radice della gerarchia DOM, utilizzando il metodo Dso XMLDocument. Lo script, quindi, accede e visualizza i caratteri contenuti in ogni elemento secondario dell' elemento principale (AUTORE, TITOLO, COPERTINA, PAGINE e PREZZO). Il codice è:

AUTORE.innerText=
Document.documentElement.childNodes(0).text;

e così via per tutti gli altri elementi secondari. La parte di codice childNodes è una proprietà del nodo Element per l' elemento principale. Racchiude una raccolta di tutti i nodi secondari. L'espressione childNodes(0) si riferisce al primo di questi, vale a dire per l' elemento TITOLO.
text è una proprietà del nodo Element che viene restituita da childNodes(0). Fornisce il contenuto di testo completo. Siccome l' elemento AUTORE non ha elemenmti discendenti, restituirà il nome dell' autore. Nel <body> della pagina XHTML inseriremo il collegamento al file XML, in questo modo:

<XML ID="dsoLIBRO" src="/libri21.xml"></XML>

Per fare in modo di collegare ogni singola voce all' elemento corrispondente del file XML, scriveremo questo codice, sempre nel tag <body>:

<span>Autore:</span>
<span ID="AUTORE"></span>

Da notare il riferimento ID="AUTORE", per fare in modo che ci si riferisca proprio a quell' elemento. Questo codice va ripetuto per tutti i nodi che si hanno dell' elemento principale; in questo caso 5. Visualizza l' esempio completo del file di accesso al documento XML.

In questa lezione è stato trattato un file XML con un numero noto di sottoelementi appartenenti all' elemento principale; nella prossima vedremo come fare per visualizzare una pagina XML contenente un numero variabile di elementi.

© www.extrowebsite.com - Grafica, layout, articoli e guide sono di esclusiva proprietà del webmaster - Tutti i diritti riservati