Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Шаблон HTML (HTML Template) представляет собой стандартный HTML-файл, содержащий специальные встроенные выражения, обозначенные двойными фигурными скобками, которые сопоставляют источник входных данных с разметкой HTML-страницы. Во время обработки шаблона эти встроенные выражения будут заменены соответствующими значениями данных, как указано в правилах, изложенных в статье HTML Template.
Библиотека Aspose.HTML for .NET позволяет устанавливать атрибуты в шаблоне HTML и контролировать наличие атрибутов при заполнении шаблонов. В следующей статье показано, как использовать эту функцию в примерах C#.
Атрибуты используются для HTML-элементов, чтобы предоставить дополнительную информацию об элементе, указать его характеристики или задать такие свойства, как идентификатор, класс, стиль и т. д. Эти атрибуты указываются в открывающем теге HTML-элемента и могут быть установлены с использованием статических значений или динамические данные (встроенные выражения):
checked для флажка HTML (HTML Checkbox)Например, возьмем следующий HTML-шаблон:
1<input type="checkbox" {{attr}} disabled />Это элемент формы флажка с отключенным набором атрибутов, который делает его недоступным для редактирования, и меткой {{attr}}, к которой можно добавить атрибут на основе источника данных. В этой метке, используя следующий источник данных, мы установим атрибут checked, который будет отображать галочку в этом флажке HTML при рисовании:
1<Data><attr>checked</attr></Data>Полный пример заполнения шаблона на C# выглядит так:
1// Bind XML data to HTML template and export as HTML and PNG using C#
2
3// Create a template with a string of HTML code
4string htmlCode = "<input type=\"checkbox\" disabled {{attr}} />";
5
6// Set data for the template in XML format
7string dataSource = "<Data><attr>checked</attr></Data>";
8
9// Convert template to HTML
10using (HTMLDocument htmlDocument = Converter.ConvertTemplate(htmlCode, string.Empty,
11 new TemplateData(new TemplateContentOptions(dataSource, TemplateContent.XML)),
12 new TemplateLoadOptions()))
13{
14 // Request the input checkbox element that we specified in the template
15 HTMLInputElement input = (HTMLInputElement)htmlDocument.GetElementsByTagName("input").First();
16
17 // Check if it has a checkmark
18 Console.WriteLine("Checked: " + input.Checked);
19 Console.WriteLine("Attributes.Length: " + input.Attributes.Length);
20 Console.WriteLine("Attributes[0].Name: " + input.Attributes[0].Name);
21 Console.WriteLine("Attributes[1].Name: " + input.Attributes[1].Name);
22 Console.WriteLine("Attributes[2].Name: " + input.Attributes[2].Name);
23
24 /*
25 This example produces the following results:
26
27 Checked: True
28 Attributes.Length: 3
29 Attributes[0].Name: type
30 Attributes[1].Name: disabled
31 Attributes[2].Name: checked
32 */
33
34 // Save the HTML document to a file
35 htmlDocument.Save(Path.Combine(OutputDir, "out-checked.html"));
36
37 // Prepare a path to the output image file
38 string outputPath = Path.Combine(OutputDir, "out-checked.png");
39
40 // Convert HTML to PNG using RenderTo() method
41 htmlDocument.RenderTo(new ImageDevice(new ImageRenderingOptions(), outputPath));
42}Давайте внимательнее посмотрим на этот фрагмент кода C#:
content, baseUrl, data, options) для преобразования шаблона. Этот метод принимает четыре параметра и преобразует строку содержимого HTML в полностью сформированный объект htmlDocument:content (htmlCode) – строка с HTML-кодом для использования в качестве шаблона;baseUrl (string.Empty) – в данном примере пустая строка, так как этот параметр не используется;data (TemplateData) – источник данных для заполнения шаблона. В данном случае это строка XML, хранящаяся в переменной dataSource;options (TemplateLoadOptions) – загрузить опции для шаблона. Вы можете создать его с помощью конструктора
TemplateLoadOptions().<input> внутри документа и проверяем, что он имеет правильные атрибуты, такие как checked в этом случае:<input>.<input>. Первое утверждение Assert.True(input.Checked) проверяет, установлен ли флажок. Следующие два утверждения, Assert.Equal(3, input.Attributes.Length) и Assert.Equal("type", input.Attributes[0].Name), проверяют количество атрибутов и имя первого атрибута входного элемента соответственно и так далее.Save(path). HTML-документ сохраняется в файле out-checked.html. Содержимое этого файла можно увидеть ниже:1<html>
2 <head>
3 </head>
4 <body>
5 <input type="checkbox" disabled="" checked="">
6 </body>
7</html>Вы можете скачать полные примеры и файлы данных с GitHub.
Если вы хотите создать документ на основе этого шаблона с пустым элементом флажка, используйте следующий источник данных:
1<Data><attr></attr></Data>Как видите, для получения такого результата достаточно просто передать пустое значение. Полный пример преобразования выглядит так:
1// Populate HTML template with XML data using attribute control in C#
2
3// Create a template with a string of HTML code
4string htmlCode = "<input type=\"checkbox\" disabled {{attr}} />";
5
6// Create an empty data source that won't set an attribute
7string dataSource = "<Data><attr></attr></Data>";
8
9// Convert template to HTML
10using (HTMLDocument htmlDocument = Converter.ConvertTemplate(htmlCode, string.Empty,
11 new TemplateData(new TemplateContentOptions(dataSource, TemplateContent.XML)),
12 new TemplateLoadOptions()))
13{
14 // Request the input checkbox element that we specified in the template
15 HTMLInputElement input = (HTMLInputElement)htmlDocument.GetElementsByTagName("input").First();
16
17 // Сheck if the checkbox is checked - it should not be there
18 Console.WriteLine("Checked: " + input.Checked);
19 Console.WriteLine("Attributes.Length: " + input.Attributes.Length);
20 Console.WriteLine("Attributes[0].Name: " + input.Attributes[0].Name);
21 Console.WriteLine("Attributes[1].Name: " + input.Attributes[1].Name);
22
23 /*
24 This example produces the following results:
25
26 Checked: False
27 Attributes.Length: 2
28 Attributes[0].Name: type
29 Attributes[1].Name: disabled
30 */
31
32 // Save the HTML document to a file
33 htmlDocument.Save(Path.Combine(OutputDir, "out-unchecked.html"));
34
35 // Prepare a path to the output file
36 string outputPath = Path.Combine(OutputDir, "out-unchecked.png");
37
38 // Convert HTML to PNG
39 htmlDocument.RenderTo(new ImageDevice(new ImageRenderingOptions(), outputPath));
40}Aspose.HTML предлагает бесплатные онлайн Конвертеры для преобразования HTML, XHTML, MHTML, EPUB, XML и Markdown. файлы в различные популярные форматы. Вы можете легко конвертировать HTML в PDF, HTML в изображение, EPUB to PDF, SVG в PDF, MHTML в PDF, или MD в HTML. Просто выберите файл, выберите формат для преобразования, и все готово! Попробуйте наши мощные Конвертеры бесплатно прямо сейчас!
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.