Como usar o modelo HTML
Um modelo HTML é um arquivo HTML regular que contém algumas expressões embutidas especiais (espaços reservados) que especificam o mapeamento da fonte de dados de entrada para a marcação da página HTML. Os espaços reservados marcados por chaves duplas indicam áreas onde os dados reais das fontes de dados devem ser inseridos. Aspose.HTML for .NET oferece um conjunto de métodos ConvertTemplate() para converter o modelo HTML em um documento HTML preenchido com dados. Então, vamos descobrir como preencher o modelo HTML a partir de uma fonte de dados e convertê-lo em um arquivo HTML.
Primeiro, certifique-se de ter a biblioteca Aspose.HTML for .NET instalada em seu projeto. Isso é muito fácil de fazer. Você pode instalá-lo por meio do Console do Gerenciador de Pacotes NuGet usando o seguinte comando:
Instale Aspose.HTML for .NET
Install-Package Aspose.HTML
Fonte de dados
Para criar e preencher um documento HTML a partir de um modelo, você precisará de uma fonte de dados para preencher. Aspose.HTML fornece a sintaxe de expressões embutidas para trabalhar com modelos e vários tipos de fontes de dados, como XML e JSON. Uma fonte de dados típica em formato XML pode ter esta aparência:
Fonte de dados 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>
Marcação de modelo
A marcação de modelo é um conjunto de sintaxe usado para incorporar conteúdo dinâmico em um modelo HTML. Expressões embutidas são usadas na marcação de modelo para executar código ou gerar valores dinâmicos diretamente no documento HTML. Aqui estão algumas regras simples para preparar um modelo HTML para ser preenchido a partir de uma fonte de dados:
- A expressão de ligação de dados é usada para definir valores do elemento de controle com base nas informações contidas na fonte de dados com a seguinte sintaxe: {{ expressão de ligação de dados }}. Por exemplo, as expressões dentro do modelo, como
{{FirstName}}, {{LastName}}, {{Address.Street}}, {{Address.Number}}
e{{Telephone}}
, indicar os campos da fonte de dados que devem ser inseridos nas células correspondentes da tabela. - O atributo
data_merge
especifica que a fonte de dados é uma lista de objetos e a tabela deve ser repetida para cada objeto. - A expressão da diretiva
foreach
é usada para iterar pela lista de elementos em combinação com uma expressão de ligação de dados.
A estrutura de um modelo 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>
Converter modelo em HTML
Depois de ter o modelo HTML e o arquivo de fonte de dados prontos, você poderá mesclá-los, ou seja, converter o modelo em um arquivo HTML preenchido com dados. Aspose.HTML for .NET oferece um conjunto de métodos
ConvertTemplate()
para converter um modelo em um documento HTML. Os métodos recebem vários parâmetros e retornam um documento HTML. Vamos usar o método
ConvertTemplate(HTMLDocument, TemplateData, TemplateLoadOptions, string
)
que leva quatro parâmetros:
- O objeto
HTMLDocument
é usado como fonte para o modelo. - O objeto
TemplateData
contém os dados que serão usados para preencher o modelo. - O objeto
TemplateLoadOptions
fornece opções para carregar o modelo. - Um parâmetro
string
é usado para especificar o caminho completo do arquivo HTML como resultado da conversão de saída.
Código C# para converter modelo em arquivo 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();
Uma tabela preenchida com dados do arquivo XML acima e usando o modelo HTML terá a seguinte aparência:
Dependendo da assinatura do método
ConvertTemplate()
, você pode definir uma fonte de modelo HTML a partir de um arquivo, URL ou conteúdo embutido (string content). Você também pode adicionar configuration
como parâmetro.
Para saber mais sobre a API Aspose.HTML, visite nossa documentação . No capítulo Working with HTML Templates , você encontrará informações sobre como preencher um modelo HTML a partir de fontes de dados XML ou JSON, como converter um modelo em HTML, como definir atributos em um modelo HTML e como controlar a presença de atributos ao preencher modelos.
Outros editores suportados
Edite arquivos em outros formatos de arquivo: