ASPcenter.net

8 marzo 2010

Paginazione a colonne di un file XML con ASP

Archiviato in: ASP e XML — Tag:, , , , , — lukeonweb @ 09:34

Per questioni pratiche e di spazio sulla pagina, conviene sempre, o comunque quando possibile, disporre i risultati di un report in una tabella formata da più colonne. Abbiamo già visto in un Articolo precedente come è possibile paginare a colonne i risultati di una query su di un database: allo stesso modo possiamo paginare i dati di un file XML, oggetto di questo Articolo.


Consideriamo il codice del seguente file, amici.xml:

<?xml version="1.0"?>
<amici>
    <amico>
        <nome>Alessandro</nome>
    </amico>
    <amico>
        <nome>Claudio</nome>
    </amico>
    <amico>
        <nome>Emanuela</nome>
    </amico>
    <amico>
        <nome>Felice</nome>
    </amico>
    <amico>
        <nome>Jacopo</nome>
    </amico>
    <amico>
        <nome>Luca</nome>
    </amico>
    <amico>
        <nome>Max</nome>
    </amico>
</amici>

Il codice ASP di seguito riportato ed opportunamente commentato, spiega come eseguire la paginazione a colonne sul file XML appena esaminato:

<%@LANGUAGE = VBScript%>

<table border="1">
    <tr>
    <%
        ' DICHIARO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
        Dim xml, nome, i, x

        ' APRO UN NUOVO OGGETTO XMLDOM E CARICO IL FILE XML
        Set xml = Server.CreateObject("Microsoft.XMLDOM")
            xml.async = False
            xml.load Server.MapPath("amici.xml")

        ' RECUPERO IL NODO CHE MI INTERESSA
        Set nome = xml.getElementsByTagName("amico/nome")

        ' VALORIZZO I CONTATORI
        i = 0
        x = 0

        ' ESEGUO IL CICLO SU TUTTI I NODI
        For i = 0 To nome.length - 1

            ' VERIFICO CHE IL REPORT SI DISPONGA SU 3 COLONNE
            If x = 3 Then
                x = 0
                Response.Write "</tr><tr>"
            End If
    %>
        <td width="100" align="center"><%=nome(i).Text%></td>
    <%
            ' INCREMENTO IL CONTATORE
            x = x + 1
        Next

        ' UN PO DI PULIZIA...
        Set nome = Nothing
        Set xml = Nothing
    %>
    </tr>
</table>

Le fasi salienti dello script sono evidenziate in grassetto… il resto è un comune report di un file XML utilizzando una pagina ASP/VBScript e l’XMLDOM.

Nessun commento »

Non c'è ancora nessun commento.

RSS feed dei commenti a questo articolo. TrackBack URL

Lascia un commento

ASPcenter.net è il blog italiano su ASP, ASP.Net, VB.Net, C# e Visual Studio - Funziona con WordPress