gototopgototop
 
Sei in: Home Page Articoli ASP Creare un documento xml con ASP

Creare un documento xml con ASP

In questo esempio ci avvarremo di un DataBase Access dal nome: nomi.mdb e di una tabella del DB TabNomi. Per fare l'esempio l'ho popolata con qualche nome di fantasia, giusto per fare vedere la riuscita dell'applicazione. Come elemento principale del documento XML che sarà generato, verrà restituito <Elenco_Nomi> ed il tag <Nome> per ogni nome inserito.

Come fare per essere sicuri che alla fine della compilazione del file nomi.asp venga generato un file con estensione xml, quando sappiamo che un file asp di default è in (X)HTML? Si deve inserire nell'intestazione del file nomi.asp il seguente codice:

<%@LANGUAGE="VBSCRIPT"%>
<% Response.ContentType="application/xml" %>
<?xml version="1.0" encoding="iso-8859-1"?>

Il primo rigo di codice non ha bisogno di essere spiegato: indica il tipo di linguaggio utilizzato per il file;
è il secondo rigo il più importante: fare in modo che nell' intestazione sia indicato che si tratta di un documento XML; inoltre è necessaria anche la dichiarazione XML per il documento che verrà creato (terzo rigo di codice).

A questo punto si devono recuperare i nomi inseriti nel Database; stabiliremo una connessione e creeremo un RecordSet per estrarre tali nomi. Subito dopo il codice scritto più su avremo:

<Elenco_Nomi>
<%
dim adoConnect
dim adoRecordset
Set adoConnect = Server.CreateObject("Adodb.Connection")
adoConnect.open "DRIVER={Microsoft Access Driver(*.mdb)};DBQ=" & Server.MapPath("nomi.mdb")
Set adoRecordset = adoConnect.Execute("SELECT * FROM TabNomi")

Stabilita la connessione e creato il recordSet, dobbiamo effettuare un loop su ogni record presente nel DataBase per creare il corrispondente elemento <Nome> del documento XML:

Do while not adoRecordset.EOF
response.write "<Nome>" + adoRecordset("Nome") + "</Nome>"
adoRecordset.MoveNext
Loop

Adesso non ci resta che chiudere il recordset e la connessione per evitare di sprecare risorse sul server:

adoRecordset.Close
Set adoRecordset = Nothing
adoConnect.Close
Set adoConnect = Nothing
%>
</Elenco_Nomi>

Il nostro file XML dovrebbe essere stato creato (incrociando le dita) ammenochè non abbiamo commesso qualche errore. Per poter vedere il file in azione, deve essere necessariamente eseguito su server IIS.

In questo modo abbiamo ottenuto il nostro file XML grazie alla tecnologia ASP. Comodo no? Questo potrebbe essere un modo come come un altro per tenere sempre aggiornato un file XML presente nel nostro sito: si pensi ad un file RSS oppure ad un file XML con output XSL. Attraverso un pannello di amministrazione possiamo inserire tutti gli elementi che vogliamo, nel DataBase, per poi visualizzarli tramite il file XML.

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