Ci siamo già occupati in passato di questo argomento, attraverso questo articolo di Luca Passani.
XSL, acronimo di eXtensible Stylesheet Language , ci permette in maniera facile la conversione di una fonte di dati XML in un altro qualsiasi formato: un altro file XML, codice HTML o qualsiasi altra cosa ci venga in mente, come un PDF .
Il .NET Framework mette a disposizione un Rich Control che permette questo genere di trasformazioni, senza scrivere una sola riga di codice. E' sufficiente inserire il webcontrol con le proprietà del nome dei file XML e XSL, perché visualizzi il risultato nella nostra pagina applicando in automatico la trasformazione:
<asp:XML id="Xml1" runat="server" DocumentSource="articoli.xml" TransformSource="esempio_1.xslt"> </asp:Xml>
Il file articoli.xml ha questo contenuto:
<?XML version="1.0" encoding="utf-8" ?> <articoli> <articolo> <codice>xxx001</codice> <descrizione>Articoli 01</descrizione> <data_inserimento>1/1/2004</data_inserimento> </articolo> <articolo> <codice>xxx002</codice> <descrizione>Articoli 02</descrizione> <data_inserimento>21/6/2003</data_inserimento> </articolo> ... <articolo> <codice>xxx006</codice> <descrizione>Articoli 06</descrizione> <data_inserimento>26/08/2000</data_inserimento> </articolo> </articoli>
Ed ecco il file XSLT, con la trasformazione:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <table border="1" cellspacing="0" cellpadding="1"> <tr> <th>Codice</th> <th>Descrizione</th> <th>Data inserimento</th> </tr> <xsl:for-each select="//articoli"> <xsl:apply-templates select="articolo" /> </xsl:for-each> </table> </xsl:template> <xsl:template match="articolo"> <tr> <td><xsl:value-of select="codice" /></td> <td><xsl:value-of select="descrizione" /></td> <td><xsl:value-of select="data_inserimento" /></td> </tr> </xsl:template> </xsl:stylesheet>
Il risultato dell'esecuzione di questo codice sarà il seguente:
Attenzione: Questo articolo contiene un allegato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.