Как использовать HTML-шаблон

Шаблон HTML – это обычный файл HTML, который содержит некоторые специальные встроенные выражения (заполнители), которые определяют сопоставление источника входных данных с разметкой страницы HTML. Заполнители, отмеченные двойными фигурными скобками, указывают области, куда следует вставить фактические данные из источников данных. Aspose.HTML for .NET предлагает набор методов ConvertTemplate() для преобразования HTML-шаблона в заполненный данными HTML-документ. Итак, давайте выясним, как заполнить HTML-шаблон из источника данных и преобразовать его в HTML-файл.

Сначала убедитесь, что в вашем проекте установлена ​​библиотека Aspose.HTML for .NET. Это довольно легко сделать. Вы можете установить её через консоль диспетчера пакетов NuGet, используя следующую команду:


Установите Aspose.HTML for .NET

Install-Package Aspose.HTML

Источник данных

Чтобы создать и заполнить HTML-документ на основе шаблона, вам понадобится источник данных для заполнения. Aspose.HTML предоставляет синтаксис встроенных выражений для работы с шаблонами и различными типами источников данных, такими как XML и JSON. Типичный источник данных в формате XML может выглядеть так:


Источник 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>

Разметка шаблона

Разметка шаблона – это набор синтаксиса, используемый для встраивания динамического контента в шаблон HTML. Встроенные выражения используются в разметке шаблона для выполнения кода или вывода динамических значений непосредственно в HTML-документе. Вот несколько простых правил для подготовки HTML-шаблона для заполнения из источника данных:

  • Выражение привязки данных используется для установки значений элемента управления на основе информации, содержащейся в источнике данных, со следующим синтаксисом: {{ выражение привязки данных }}. Например, выражения внутри шаблона, такие как {{FirstName}}, {{LastName}}, {{Address.Street}}, {{Address.Number}} и {{Telephone}}, обозначают поля из источника данных, которые необходимо вставить в соответствующие ячейки таблицы.
  • Атрибут data_merge указывает, что источником данных является список объектов, и таблица должна повторяться для каждого объекта.
  • Выражение директивы foreach используется для перебора списка элементов в сочетании с выражением привязки данных.

Структура 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>

Преобразование шаблона в HTML документ

Подготовив HTML-шаблон и файл источника данных, вы можете объединить их, то есть преобразовать шаблон в заполненный данными HTML-файл. Aspose.HTML for .NET предлагает набор методов ConvertTemplate() для преобразования шаблона в документ HTML. Методы принимают несколько параметров и возвращают HTML-документ. Давайте воспользуемся методом ConvertTemplate(HTMLDocument, TemplateData, TemplateLoadOptions, string) , который принимает четыре параметра:

  • В качестве источника шаблона используется объект HTMLDocument.
  • Объект TemplateData содержит данные, которые будут использоваться для заполнения шаблона.
  • Объект TemplateLoadOptions предоставляет параметры загрузки шаблона.
  • Параметр string используется для указания полного пути к HTML-файлу как результату преобразования.

Код C# для преобразования шаблона в файл 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();

Таблица, заполненная данными из приведенного выше XML-файла и использующая шаблон HTML, будет выглядеть следующим образом:

Текст «HTML-таблица, заполненная данными по шаблону»

В зависимости от сигнатуры метода ConvertTemplate() вы можете определить источник шаблона HTML из файла, URL-адреса или из содержимого строки (string content). Вы также можете добавить configuration в качестве параметра.


Чтобы узнать больше об API Aspose.HTML, посетите нашу документацию . В главе Работа с шаблонами HTML вы найдете информацию о том, как заполнить шаблон HTML из источников данных XML или JSON, как преобразовать шаблон в HTML, как установить атрибуты в шаблоне HTML и как контролировать наличие атрибутов при заполнении шаблонов.