Como generar un archivo HTML con XML – XSL en C#

Alguna vez te a tocado manipular XML con XSL ? Bueno aquí una forma muy sencilla de como manipular ambos para realizar la transformación de ellos a un HTML en C Sharp.

Asumiendo que tienen un proyecto creado para poder realizar las pruebas necesarias, crearemos dos clases que son la principal ( que contendrá el método Main en su interior ) y otra clase con el nombre «Convertir_XML_XSL» ( puede ser renombrada como gusten ustedes ), en la cual trabajaremos la mayoría del código.

Comencemos…

Paso N ° 1 : necesitaremos contar con los archivos .xml y .xsl como introducción al tema.

Creamos un archivo con el nombre y extensión : » portafolio.xml » (O como gusten) donde en su contenido pegaremos esta estructura XML:

 
 
    
     SUNW 
      Sun Microsystems  
     17.1 
    
    
     AOL 
     America Online 
     51.05 
    
    
     IBM 
     International Business Machines 
     116.10 
    
    
     MOT 
     MOTOROLA 
     15.20 
    
 

Creamos otro archivo con el nombre y extensión : » stocks.xsl » (o como gusten) donde en su contenido pegaremos esta estructura XSL:

     

Paso N ° 2 : Agregaremos las librerías necesarias a las referencias en la clase » Convertir_XML_XSL»:

using System;
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using System.Xml.XPath;

Paso N ° 3 : Ahora trabajaremos nuestra clase » Convertir_XML_XSL » en la cual incluiremos el siguiente código junto a su explicación ante la librería XML.

public class Convertir_XML_XSL 
{
    private String filename;  
    private String stylesheet; 
 
        public Convertir_XML_XSL (String filename, String stylesheet){
               
               this.filename = filename;
               this.stylesheet = stylesheet;

        }

    public void convertir_html() {

        //Cargamos la hoja de estilo que utilizaremos
        XslTransform xslt = new XslTransform();
        xslt.Load(stylesheet);
    
        //Carga el archivo que deseamos transformar.
        XPathDocument doc = new XPathDocument(filename);
        
        //Instanciamos XmlTextWriter con una consola de salida.
        XmlTextWriter writer = new XmlTextWriter(Console.Out);
        
        xslt.Transform(doc, null, writer, null);
        writer.Close();
        
                //Declarar y crear un nuevo objeto XslCompiledTransform
        XslCompiledTransform transform = new XslCompiledTransform();

        //Cargamos el Xls que utilizaremos
        transform.Load(stylesheet);

        //Generamos nuestro Html
        transform.Transform(filename,"Resultado.html");
    }
}

Paso N ° 4 : Como ultimo paso utilizaremos nuestra clase principal para realizar una instancia de la clase y utilizar el método que hemos construido.

public static void Main (string[] args)
{
     String filename = "portafolio.xml";
     String stylesheet = "stocks.xsl";

     Convertir_XML_XSL convertir_datos = new Convertir_XML_XSL (filename ,stylesheet );
     convertir_datos .convertir_html();
}

Una vez realizado cada uno de los pasos especificados anteriormente deberíamos obtener nuestro HTML, en el ejemplo se llama «Resultado.html» y se situara en la carpeta donde nosotros lo definamos.

Si todo resulto correctamente nuestro resultado sera una tabla en HTML que contendrá los datos extraídos desde el .xml :

resultado

Saludos, Hasta luego.

También te podría gustar...