Cómo utilizar la plantilla HTML

Una plantilla HTML es un archivo HTML normal que contiene algunas expresiones en línea especiales (marcadores de posición) que especifican la asignación de la fuente de datos de entrada al marcado de la página HTML. Los marcadores de posición marcados con llaves dobles indican áreas donde se deben insertar datos reales de fuentes de datos. Aspose.HTML para .NET ofrece un conjunto de métodos ConvertTemplate() para convertir la plantilla HTML en un documento HTML lleno de datos. Entonces, descubramos cómo completar la plantilla HTML desde una fuente de datos y convertirla en un archivo HTML.

Primero, asegúrese de tener la biblioteca Aspose.HTML para .NET instalada en su proyecto. Esto es bastante fácil de hacer. Puede instalarlo a través de la consola del Administrador de paquetes NuGet usando el siguiente comando:


Instalar Aspose.HTML para .NET

Install-Package Aspose.HTML

Fuente de datos

Para crear y completar un documento HTML a partir de una plantilla, necesitará una fuente de datos para completar. Aspose.HTML proporciona la sintaxis de expresiones en línea para trabajar con plantillas y varios tipos de fuentes de datos, como XML y JSON. Una fuente de datos típica en formato XML podría verse así:


Fuente de datos XML

<Data>
    <Persons>
        <Person>
            <FirstName>Sherlock</FirstName>
			<LastName>Doe</LastName>
			<Address>
				<City>Dallas</City>
				<Street>Main rd.</Street>
				<Number>114</Number>
			</Address>
			<Telephone>012-5344-334</Telephone>
        </Person>
        <Person>
            <FirstName>Jack</FirstName>
            <LastName>Fox</LastName>
            <Address>
                <Number>25</Number>
                <Street>Broadway</Street>
                <City>New York</City>
            </Address>
            <Telephone>081-544-12-15</Telephone>
        </Person>
    </Persons>
 </Data>

Marcado de plantilla

El marcado de plantilla es un conjunto de sintaxis que se utiliza para incrustar contenido dinámico en una plantilla HTML. Las expresiones en línea se utilizan dentro del marcado de plantilla para ejecutar código o generar valores dinámicos directamente dentro del documento HTML. A continuación se muestran algunas reglas simples para preparar una plantilla HTML que se completará a partir de una fuente de datos:

  • La expresión de enlace de datos se utiliza para establecer valores del elemento de control en función de la información contenida en la fuente de datos con la siguiente sintaxis: {{ expresión de enlace de datos }}. Por ejemplo, las expresiones dentro de la plantilla, como {{FirstName}}, {{LastName}}, {{Address.Street}}, {{Address.Number}} y {{Telephone}}, indique los campos de la fuente de datos que deben insertarse en las celdas correspondientes de la tabla.
  • El atributo data_merge especifica que la fuente de datos es una lista de objetos y la tabla debe repetirse para cada objeto.
  • La expresión directiva foreach se utiliza para iterar a través de la lista de elementos en combinación con una expresión de enlace de datos.

La estructura de una plantilla HTML

<!DOCTYPE html>
<html lang="en">
	<head>
		<title>Person Information</title>
	</head>
	<body>
		<table border=1 data_merge="{{#foreach Persons.Person}}">
			<tr>
				<th>Person</th>
				<th>Address</th>
				<th>Telephone</th>
			</tr>
			<tr>
				<td>{{FirstName}} {{LastName}}</td>
				<td>{{Address.Street}} {{Address.Number}}, {{Address.City}}</td>
				<td>{{Telephone}} </td>
			</tr>
		</table>
	</body>
</html>

Convertir plantilla a HTML

Una vez que tenga listos su plantilla HTML y su archivo de fuente de datos, puede fusionarlos, es decir, convertir la plantilla en un archivo HTML lleno de datos. Aspose.HTML para .NET ofrece un conjunto de métodos ConvertTemplate() para convertir una plantilla en un documento HTML. Los métodos toman varios parámetros y devuelven un documento HTML. Usemos el método ConvertTemplate(HTMLDocument, TemplateData, TemplateLoadOptions, string) que toma cuatro parámetros:

  • El objeto HTMLDocument se utiliza como fuente para la plantilla.
  • El objeto TemplateData contiene los datos que se utilizarán para completar la plantilla.
  • El objeto TemplateLoadOptions proporciona opciones para cargar la plantilla.
  • Se utiliza un parámetro string para especificar la ruta completa del archivo HTML como resultado de la conversión de salida.

Código C# para convertir plantilla a archivo HTML

using System.IO;
using Aspose.Html.Converters;
using Aspose.Html.Loading;
...

    // Initialize an HTML document as a conversion source (HTML template)
    var document = new HTMLDocument(Path.Combine(DataDir, "html-template.html"), new Configuration());

    // Define a TemplateData object
    var templateData = new TemplateData(Path.Combine(DataDir, "template-data.xml"));

    // Define a default TemplateLoadOptions object
    var options = new TemplateLoadOptions();

    // Prepare a path to the result file
    var resultPath = Path.Combine(OutputDir, "document.html");

    // Convert template to HTML
    Converter.ConvertTemplate(document, templateData, options, resultPath);

    // Clear resources
    document.Dispose();

Una tabla completa con datos del archivo XML anterior y usando la plantilla HTML se verá así:

Texto “Tabla HTML llena de datos usando la plantilla”

Dependiendo de la firma del método ConvertTemplate() , puede definir una fuente de plantilla HTML a partir de un archivo, URL o contenido en línea (string content). También puede agregar configuration como parámetro.

Para obtener más información sobre la API Aspose.HTML, visite nuestra documentación . En el capítulo Working with HTML Templates , encontrará información sobre cómo completar una plantilla HTML a partir de fuentes de datos XML o JSON, cómo convertir una plantilla a HTML, cómo establecer atributos en una plantilla HTML y cómo controlar la presencia de atributos al completar plantillas.