gototopgototop
 
Sei in: Home Page Corso XML Visualizzare un numero variabile di elementi XML con DOM

Visualizzare un numero variabile di elementi XML con DOM

Questo sarà il tema della lezione odierna. Prendiamo sempre come esempio il nostro file di inventario dei libri; in genere non si conosce il numero di elementi contenuti, in questo caso LIBRO. Potrebbe anche succedere che si voglia eliminare qualche libro oppure aggiungerne degli altri. Vediamo il codice da utilizzare. Tra i tag <head> scriviamo:

<SCRIPT LANGUAGE="JavaScript" FOR="window" EVENT="ONLOAD">
HTMLCode = "";
Document = dsoINVENTARIO.XMLDocument;
for (i=0; i< Document.documentElement.childNodes.length; i++)
{
HTMLCode +=
"<span style='font-weight:bold'>Titolo:</span>"
+ Document.documentElement.childNodes(i).childNodes(0).text
+ "<br />"
+ "<span style='font-weight:bold'>Autore:</span>"
+ Document.documentElement.childNodes(i).childNodes(1).text
+ "<br />"
+ "<span style='font-weight:bold'>Edizione:</span>"
+ Document.documentElement.childNodes(i).childNodes(2).text
+ "<br />"
+ "<span style='font-weight:bold'>Numero di pagine:</span>"
+ Document.documentElement.childNodes(i).childNodes(3).text
+ "<br />"
+ "<span style='font-weight:bold'>Prezzo:</span>"
+ Document.documentElement.childNodes(i).childNodes(4).text
+ "<p>";
}
DisplayDIV.innerHTML=HTMLCode;
</script>

Tra i tag <body> scriviamo:

<XML ID="dsoINVENTARIO" src="/libri.xml"></XML>
<H2>Inventario dei libri</H2>
<DIV ID="DisplayDIV"></DIV>

Lo script in questione utilizza la proprietà length per determinare il numero di elementi LIBRO contenuti nell' elemento principale. La proprietà length fa parte dell' oggetto NodeList fornito dalla proprietà ChildNodes del nodo elemento principale. Lo script contiene uno script for che viene eseguito ogni volta che incontra un elemento LIBRO ed include il codice per visualizzare ciascuno di questi elementi:

for (i=0;
i < Document.documentElement.childNodes.length;
i++)
{
CODICE
}

Poichè il numero di elementi LIBRO è sconosciuto, la pagina non può utilizzare un insieme fisso di elementi SPAN nel BODY per stampare a video i dati. Per ogni elemento LIBRO, invece, lo script genera dinamicamente l' intero blocco di tag XHTML necessario per visualizzare l' elemento (tutto il blocco di codice contenente span ecc...).
Lo script memorizza tutti i blocchi di tag XHTML nella variabile HTMLCode. Dopo il ciclo for, quando tutti i blocchi sono stati generati e memorizzati in HTMLCode, viene assegnato il tag HTML alla proprietà innerHTML dell' elemento DIV nel BODY della pagina; questo elemento ha l' ID DisplayDIV. L' elemento DIV elabora il codice HTML e visualizza i risultati. Il file completo, di cui ho descritto il codice, è possibile vederlo nel file di esempio finale.

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