Как использовать 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, будет выглядеть следующим образом:
В зависимости от сигнатуры метода
ConvertTemplate()
вы можете определить источник шаблона HTML из файла, URL-адреса или из содержимого строки (string content). Вы также можете добавить configuration
в качестве параметра.
Чтобы узнать больше об API Aspose.HTML, посетите нашу документацию . В главе Работа с шаблонами HTML вы найдете информацию о том, как заполнить шаблон HTML из источников данных XML или JSON, как преобразовать шаблон в HTML, как установить атрибуты в шаблоне HTML и как контролировать наличие атрибутов при заполнении шаблонов.
Другие поддерживаемые редакторы
Редактируйте файлы в других форматах: