将模板转换为 HTML – C# 示例

Aspose.HTML for .NET 提供了一组 ConvertTemplate() 方法,用于将 HTML 模板转换为 HTML 文档。这些方法需要几个参数,如模板文件的路径、数据源和加载选项,然后返回一个 HTML 文档。HTML 模板是一段包含动态数据占位符的 HTML 代码。这些占位符被称为表达式,并用双引号括起来,如下所示:{{表达式}}。数据源为这些表达式提供实际值。ConvertTemplate() 方法将模板中的表达式替换为数据源中的值,生成一个完整的 HTML 文档。该方法可用于各种数据源类型,如 XML 和 JSON。

本文介绍如何在 C# 示例中使用 Aspose.HTML for .NET 库将模板转换为 HTML。

只需一行代码即可将模板转换为 HTML

准备好 HTML 模板后,只需一行代码就能在 C# 应用程序中将模板转换为 HTML!为此,您需要向 ConvertTemplate(sourcePath, data, options, outputPath) 方法传递所需的参数。

1// Convert Template to HTML using C#
2
3// Convert template to HTML
4Converter.ConvertTemplate(
5    Path.Combine(DataDir, "template.html"),
6    new TemplateData(Path.Combine(DataDir, "data-source.json")),
7    new TemplateLoadOptions(),
8    Path.Combine(OutputDir, "template-with-single-line.html")
9);

将模板转换为 HTML

让我们使用 ConvertTemplate(HTMLDocument, TemplateData, TemplateLoadOptions, string) 方法将 HTML 模板转换为真正的 HTML 文档。该方法需要四个参数:

  1. HTMLDocument 对象被用作模板的源代码。
  2. TemplateData 对象保存用于填充模板的数据。
  3. TemplateLoadOptions 对象提供了加载模板的选项。
  4. 使用 string 参数指定完整的 HTML 文件路径作为输出转换结果。

该方法使用这些参数中的信息生成 HTML 文档。

 1// Populate HTML template with external XML data using C#
 2
 3// Prepare a path to an HTML source file
 4string sourcePath = Path.Combine(DataDir, "template.html");
 5
 6// Prepare a path to an xml template data file
 7string templateDataPath = Path.Combine(DataDir, "templateData.xml");
 8
 9// Define TemplateData object instance
10TemplateData templateData = new TemplateData(templateDataPath);
11
12// Prepare a path to the result file
13string resultPath = Path.Combine(OutputDir, "result.html");
14
15// Define default TemplateLoadOptions object
16TemplateLoadOptions options = new TemplateLoadOptions();
17
18// Initialize an HTML document as conversion source
19HTMLDocument document = new HTMLDocument(sourcePath, new Configuration());
20
21// Convert template to HTML
22Converter.ConvertTemplate(document, templateData, options, resultPath);
23
24// Clear resources
25document.Dispose();

这段代码创建了一个 HTMLDocument 类实例,并使用 Converter.ConvertTemplate method() 将模板文件 (template.html) 转换为使用数据源文件 (templateData.xml) 的 HTML 文档。该方法需要四个参数:HTMLDocument 对象、使用数据源文件创建的 TemplateData 对象、TemplateLoadOptions 对象和生成的 HTML 文档的文件路径。生成的 HTML 文档将保存到指定的文件路径 (result.html)。转换完成后,将处置 document 对象。

即时将模板转换为 HTML

如果您的情况涉及指定数据和即时创建模板,您必须遵循几个步骤:

  1. 准备 HTML 模板并将其保存到文件中。ConvertTemplate() 方法将模板文件的路径作为参数(sourcePath)。
  2. 准备 JSON 和 XML 数据源并将其保存到文件中。TemplateData() 构造函数获取该数据文件的路径,并为 ConvertTemplate() 方法创建一个数据对象(data)。
  3. 初始化 TemplateLoadOptions 类的实例,以确定模板名称和数据项名称是否匹配,无论大小写(options)。
  4. 调用 ConvertTemplate() 方法并为其传递 sourcePathdataoptionsoutputPath。OutputPath 是数据填充模板文件的保存路径。
 1// Populate an HTML template with structured JSON data using C#
 2
 3// Prepare a path to JSON data source file
 4string jsonPath = Path.Combine(OutputDir, "data-source.json");
 5
 6// Prepare a JSON data source and save it to the file
 7string data = @"{
 8    ""FirstName"": ""John"",
 9    ""LastName"": ""Doe"",
10    ""Address"": {
11        ""City"": ""Dallas"",
12        ""Street"": ""Austin rd."",
13        ""Number"": ""200""
14        }
15    }";
16File.WriteAllText(jsonPath, data);
17
18// Prepare a path to an HTML Template file
19string sourcePath = Path.Combine(OutputDir, "template.html");
20
21// Prepare an HTML Template and save it to the file
22string template = @"
23    <table border=1>
24        <tr>
25            <th>Person</th>
26            <th>Address</th>
27        </tr>
28        <tr>
29            <td>{{FirstName}} {{LastName}}</td>
30            <td>{{Address.Street}} {{Address.Number}}, {{Address.City}}</td>
31        </tr>
32    </table>
33    ";
34File.WriteAllText(sourcePath, template);
35
36// Prepare a path to the output file (data-filled template file)
37string outputPath = Path.Combine(OutputDir, "template-output.html");
38
39// Invoke Converter.ConvertTemplate() method in order to populate "template.html" with the data source from "data-source.json" file
40Converter.ConvertTemplate(sourcePath, new TemplateData(jsonPath), new TemplateLoadOptions(), outputPath);

Aspose.HTML 提供免费的在线 转换器,用于将 HTML、XHTML、MHTML、EPUB、XML 和 Markdown 文件转换为各种流行格式。您可以轻松地将 HTML 转换为 PDFHTML 转换为 JPGSVG 转换为 PDFMHTML 转换为 PDFMD 转换为 HTML,只需选择文件,选择要转换的格式,就大功告成了。它速度快,而且完全免费!

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.