So verwenden Sie eine HTML-Vorlage

Eine HTML-Vorlage ist eine reguläre HTML-Datei, die einige spezielle Inline-Ausdrücke (Platzhalter) enthält, die die Zuordnung der Eingabedatenquelle zum HTML-Seiten-Markup angeben. Durch doppelte geschweifte Klammern gekennzeichnete Platzhalter geben Bereiche an, in denen tatsächliche Daten aus Datenquellen eingefügt werden sollen. Aspose.HTML für .NET bietet eine Reihe von ConvertTemplate() -Methoden zum Konvertieren der HTML-Vorlage in ein mit Daten gefülltes HTML-Dokument. Lassen Sie uns also herausfinden, wie Sie die HTML-Vorlage aus einer Datenquelle füllen und in eine HTML-Datei konvertieren.

Stellen Sie zunächst sicher, dass in Ihrem Projekt die Bibliothek Aspose.HTML für .NET installiert ist. Das geht ganz einfach. Sie können es über die NuGet Package Manager-Konsole mit dem folgenden Befehl installieren:


Installieren Sie Aspose.HTML für .NET

Install-Package Aspose.HTML

Datenquelle

Um ein HTML-Dokument aus einer Vorlage zu erstellen und zu füllen, benötigen Sie eine Datenquelle zum Auffüllen. Aspose.HTML stellt die Inline-Ausdruckssyntax für die Arbeit mit Vorlagen und verschiedenen Datenquellentypen wie XML und JSON bereit. Eine typische Datenquelle im XML-Format könnte wie folgt aussehen:


XML-Datenquelle

<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>

Vorlagen-Markup

Beim Vorlagen-Markup handelt es sich um einen Syntaxsatz, der zum Einbetten dynamischer Inhalte in eine HTML-Vorlage verwendet wird. Inline-Ausdrücke werden innerhalb des Vorlagen-Markups verwendet, um Code auszuführen oder dynamische Werte direkt im HTML-Dokument auszugeben. Hier sind einige einfache Regeln für die Vorbereitung einer HTML-Vorlage, die aus einer Datenquelle gefüllt werden soll:

  • Der Datenbindungsausdruck wird verwendet, um Werte des Steuerelements basierend auf den in der Datenquelle enthaltenen Informationen mit der folgenden Syntax festzulegen: {{ Datenbindungsausdruck }}. Beispielsweise sind die Ausdrücke in der Vorlage, wie {{FirstName}}, {{LastName}}, {{Address.Street}}, {{Address.Number}} und {{Telephone}}, Geben Sie die Felder aus der Datenquelle an, die in die entsprechenden Zellen der Tabelle eingefügt werden sollen.
  • Das Attribut data_merge gibt an, dass die Datenquelle eine Liste von Objekten ist und die Tabelle für jedes Objekt wiederholt werden sollte.
  • Der Direktivenausdruck foreach wird verwendet, um in Kombination mit einem Datenbindungsausdruck die Liste der Elemente zu durchlaufen.

Die Struktur einer HTML-Vorlage

<!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>

Konvertieren Sie die Vorlage in HTML

Sobald Sie Ihre HTML-Vorlage und die Datenquelldatei fertig haben, können Sie sie zusammenführen, d. h. die Vorlage in eine mit Daten gefüllte HTML-Datei konvertieren. Aspose.HTML für .NET bietet eine Reihe von ConvertTemplate() -Methoden zum Konvertieren einer Vorlage in ein HTML-Dokument. Die Methoden benötigen mehrere Parameter und geben ein HTML-Dokument zurück. Verwenden wir die Methode ConvertTemplate(HTMLDocument, TemplateData, TemplateLoadOptions, string) , die vier Parameter benötigt:

  • Das Objekt HTMLDocument wird als Quelle für die Vorlage verwendet.
  • Das Objekt TemplateData enthält die Daten, die zum Auffüllen der Vorlage verwendet werden.
  • Das Objekt TemplateLoadOptions bietet Optionen zum Laden der Vorlage.
  • Ein string-Parameter wird verwendet, um den vollständigen HTML-Dateipfad als Ergebnis der Ausgabekonvertierung anzugeben.

C#-Code zum Konvertieren der Vorlage in eine HTML-Datei

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();

Eine Tabelle, die mit Daten aus der obigen XML-Datei gefüllt ist und die HTML-Vorlage verwendet, sieht folgendermaßen aus:

Text „HTML-Tabelle mit Daten mithilfe der Vorlage gefüllt“


Um mehr über die Aspose.HTML-API zu erfahren, besuchen Sie bitte unsere Dokumentation . Im Kapitel Working with HTML Templates finden Sie Informationen zum Füllen einer HTML-Vorlage aus XML- oder JSON-Datenquellen, zum Konvertieren einer Vorlage in HTML, zum Festlegen von Attributen in einer HTML-Vorlage usw So steuern Sie das Vorhandensein von Attributen beim Auffüllen von Vorlagen.