Vorlage in HTML konvertieren – C# Beispiele
Aspose.HTML for .NET bietet eine Reihe von ConvertTemplate() Methoden, die zur Umwandlung einer HTML-Vorlage in ein HTML-Dokument verwendet werden. Die Methoden nehmen mehrere Parameter entgegen, wie den Pfad zur Vorlagendatei, die Datenquelle und die Ladeoptionen, und geben ein HTML-Dokument zurück. Das HTML-Template ist ein Stück HTML-Code, das Platzhalter für dynamische Daten enthält. Diese Platzhalter werden als Ausdrücke bezeichnet und sind in doppelte geschweifte Klammern eingeschlossen, etwa so: {{expression}}. Die Datenquelle liefert die tatsächlichen Werte für diese Ausdrücke. Die Methode ConvertTemplate() ersetzt die Ausdrücke in der Vorlage durch Werte aus der Datenquelle und erzeugt so ein vollständiges HTML-Dokument. Diese Methode kann mit verschiedenen Datenquellentypen verwendet werden, z. B. XML und JSON.
Dieser Artikel beschreibt die Konvertierung von Vorlagen in HTML in C#-Beispielen mit der Aspose.HTML for .NET-Bibliothek.
Vorlage mit einer einzigen Codezeile in HTML umwandeln
Sobald Sie eine HTML-Vorlage vorbereitet haben, können Sie die Vorlage in Ihrer C#-Anwendung buchstäblich mit einer einzigen Codezeile in HTML umwandeln! Dazu müssen Sie die erforderlichen Parameter an die Methode
ConvertTemplate(sourcePath
, data
, options
, outputPath
) übergeben.
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);
Vorlage in HTML umwandeln
Verwenden wir die Methode
ConvertTemplate(HTMLDocument
, TemplateData
, TemplateLoadOptions
, string
), um eine HTML-Vorlage in ein echtes HTML-Dokument umzuwandeln. Die Methode benötigt vier Parameter:
- das Objekt
HTMLDocument
wird als Quelle für die Vorlage verwendet. - das Objekt
TemplateData
enthält die Daten, die zum Ausfüllen der Vorlage verwendet werden. - das Objekt
TemplateLoadOptions
bietet Optionen für das Laden der Vorlage. - Ein
string
-Parameter wird verwendet, um den vollständigen HTML-Dateipfad als Ausgabekonvertierungsergebnis anzugeben.
Die Methode verwendet die Informationen aus diesen Parametern, um ein HTML-Dokument zu erzeugen.
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();
Der Code erstellt eine Instanz der Klasse
HTMLDocument und verwendet die Methode
Converter.ConvertTemplate(), um eine Vorlagendatei (template.html) unter Verwendung einer Datenquellendatei (templateData.xml) in ein HTML-Dokument zu konvertieren. Die Methode hat vier Parameter: das HTMLDocument
-Objekt, das TemplateData
-Objekt, das mit der Datenquelldatei erstellt wurde, das TemplateLoadOptions
-Objekt und den Dateipfad für das resultierende HTML-Dokument. Das resultierende HTML-Dokument wird unter dem angegebenen Dateipfad (result.html) gespeichert. Nach der Konvertierung wird das document
-Objekt entsorgt.
Vorlage on-the-fly in HTML konvertieren
Wenn Sie in Ihrem Fall Daten angeben und eine Vorlage im Handumdrehen erstellen möchten, müssen Sie einige Schritte beachten:
- Bereiten Sie eine HTML-Vorlage vor und speichern Sie sie in einer Datei. Die Methode ConvertTemplate() nimmt den Pfad der Vorlagendatei als Parameter (
sourcePath
). - Bereiten Sie eine JSON- und XML-Datenquelle vor und speichern Sie sie in einer Datei. Der Konstruktor
TemplateData() übernimmt den Pfad zu dieser Datendatei und erstellt ein Datenobjekt (
data
) für die Methode ConvertTemplate(). - Initialisierung einer Instanz der Klasse
TemplateLoadOptions, um festzustellen, ob die Namen der Vorlagen und Datenelemente übereinstimmen, unabhängig von der Groß- und Kleinschreibung (
options
). - Rufen Sie die Methode
ConvertTemplate() auf und übergeben Sie ihr
sourcePath
,data
,options
undoutputPath
. OutputPath ist ein Pfad zum Speichern der mit Daten gefüllten Vorlagendatei.
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 bietet kostenlose Online- Konverter für die Konvertierung von HTML-, XHTML-, MHTML-, EPUB-, XML- und Markdown-Dateien in eine Vielzahl von gängigen Formaten. Sie können ganz einfach HTML in PDF, HTML in JPG, SVG in PDF, MHTML in PDF oder MD in HTML konvertieren. Wählen Sie einfach eine Datei aus, wählen Sie das zu konvertierende Format und fertig. Das geht schnell und ist kostenlos!
Sie können die vollständigen Beispiele und Datendateien von GitHub herunterladen.