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:

  1. das Objekt HTMLDocument wird als Quelle für die Vorlage verwendet.
  2. das Objekt TemplateData enthält die Daten, die zum Ausfüllen der Vorlage verwendet werden.
  3. das Objekt TemplateLoadOptions bietet Optionen für das Laden der Vorlage.
  4. 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:

  1. Bereiten Sie eine HTML-Vorlage vor und speichern Sie sie in einer Datei. Die Methode ConvertTemplate() nimmt den Pfad der Vorlagendatei als Parameter (sourcePath).
  2. 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().
  3. Initialisierung einer Instanz der Klasse TemplateLoadOptions, um festzustellen, ob die Namen der Vorlagen und Datenelemente übereinstimmen, unabhängig von der Groß- und Kleinschreibung (options).
  4. Rufen Sie die Methode ConvertTemplate() auf und übergeben Sie ihr sourcePath, data, options und outputPath. 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.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.