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í:
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.
Otros editores compatibles
Edite archivos en otros formatos de archivo: