Wenn Sie ein C#-Programmierer sind, der nach einer effizienten Möglichkeit zum Arbeiten mit HTML Dateien sucht, ist dieser Artikel genau das Richtige für Sie. Wir erklären die Grundlagen, wie C# mit HTML Dateien arbeitet, von der Erstellung von Grund auf neu bis zum Lesen und Bearbeiten vorhandener Dokumente. In diesem Artikel erfahren Sie, wie Sie HTML Dateien in C# erstellen, lesen und bearbeiten.
HTML (Hyper Text Markup Language) ist eine Sprache, die zum Erstellen von Websites und Webseiten verwendet wird. C# hingegen ist eine objektorientierte Programmiersprache, die zum Erstellen von Anwendungen verwendet wird. Eine HTML-Datei enthält Markup-Tags, mit denen die Struktur einer Webseite für die Anzeige in Browsern formatiert wird. Wir können HTML Dateien problemlos programmgesteuert in .NET-Anwendungen manipulieren. In diesem Artikel untersuchen wir, wie Sie C# zum Lesen, Schreiben und Bearbeiten von HTML Dateien verwenden. Wir sehen uns Möglichkeiten an, HTML-Code auf bestimmte Elemente zu parsen und neue Elemente von Grund auf neu zu erstellen oder vorhandene zu bearbeiten. Lass uns anfangen!
Folgende Themen sollen in diesem Artikel behandelt werden:
- C# API zum Erstellen, Lesen und Bearbeiten von HTML Dateien
- Erstellen Sie eine HTML-Datei
- Eine HTML-Datei lesen
- Bearbeiten einer HTML-Datei
- Raw-HTML-Inhalt in C# hinzufügen
C# API zum Erstellen, Lesen und Bearbeiten von HTML Dateien
Zum Erstellen, Lesen und Bearbeiten von HTML Dateien verwenden wir die API Aspose.HTML for .NET. Es ist eine fortschrittliche HTML-Verarbeitungs-API, die die Erstellung, Änderung und Extraktion von Daten aus HTML Dokumenten ermöglicht. Es ermöglicht auch das Konvertieren und Rendern von HTML Dokumenten ohne externe Software.
Die Klasse HTMLDocument der API stellt ein HTML Dokument oder die HTML-Seite dar, die wir im Browser sehen. Die Methode CreateElement() dieser Klasse erstellt das durch tagName angegebene HTML-Element. Die Methode CreateTextNode(string) erstellt einen Textknoten mit der angegebenen Zeichenfolge. Die Methode AppendChild() der Node-Schnittstelle fügt einen Knoten am Ende der Liste der Kinder eines angegebenen Elternknotens hinzu. Die Methode Save() speichert die Ausgabedatei. Sie können auch mehr über DOM-Namensraum in der Dokumentation lesen.
Bitte laden Sie die DLL der API herunter oder installieren Sie sie mit NuGet.
PM> Install-Package Aspose.Html
Erstellen Sie eine HTML-Datei in C#
Wir können ganz einfach eine HTML-Datei erstellen, indem wir die folgenden Schritte ausführen:
- Erstellen Sie zunächst eine Instanz der HTMLDocument Klasse.
- Rufen Sie als Nächstes die Methode CreateElement() auf, um Elemente wie Überschrift, Absatz, Text usw. zu erstellen.
- Rufen Sie dann die Methode CreateTextNode() auf, um den Textknoten hinzuzufügen.
- Hängen Sie als Nächstes den erstellten Knoten mithilfe der Methode AppendChild() an das Element an.
- Hängen Sie danach mit der Methode HTMLDocument.Body.AppendChild() Elemente an den Textkörper des Dokuments an.
- Wiederholen Sie die obigen Schritte, um weitere Elemente hinzuzufügen.
- Speichern Sie abschließend das HTML Dokument mit der Methode Save(). Es nimmt den Pfad der Ausgabedatei als Argument.
Das folgende Codebeispiel zeigt, wie Sie eine HTML-Datei mit C# erstellen.
// Dieses Codebeispiel zeigt, wie Sie ein HTML Dokument erstellen.
// Erstellen Sie ein leeres HTML Dokument
var document = new HTMLDocument();
// Überschrift hinzufügen
// 1. Erstellen Sie ein Überschriftenelement
var h2 = (HTMLHeadingElement)document.CreateElement("h2");
// 2. Erstellen Sie ein Textelement
var text = document.CreateTextNode("This is Sample Heading!");
// 3. Textelement zur Überschrift hinzufügen
h2.AppendChild(text);
// 4. Überschrift hinzufügen to the document
document.Body.AppendChild(h2);
// Absatz hinzufügen
// 1. Erstellen Sie ein Absatzelement
var p = (HTMLParagraphElement)document.CreateElement("p");
// 2. Legen Sie ein benutzerdefiniertes Attribut fest
p.SetAttribute("id", "first-paragraph");
// 3. Erstellen Sie einen Textknoten
var paraText = document.CreateTextNode("This is first paragraph. ");
// 4. Fügen Sie den Text zum Absatz hinzu
p.AppendChild(paraText);
// 5. Fügen Sie dem Dokumentkörper einen Absatz hinzu
document.Body.AppendChild(p);
// Geordnete Liste hinzufügen
// Erstellen Sie ein Absatzelement
var list = (HTMLOListElement)document.CreateElement("ol");
// Füge li Punkt 1 hinzu
var item1 = (HTMLLIElement)document.CreateElement("li");
item1.AppendChild(document.CreateTextNode("First list item."));
// Füge li Punkt 2 hinzu
var item2 = (HTMLLIElement)document.CreateElement("li");
item2.AppendChild(document.CreateTextNode("Second list item."));
// Fügen Sie der Liste li Elemente hinzu
list.AppendChild(item1);
list.AppendChild(item2);
// Liste an den Dokumentkörper anhängen
document.Body.AppendChild(list);
// Speichern Sie das HTML Dokument in einer Datei
document.Save(@"C:\Files\html\create-new-document.html");
Lesen Sie eine HTML-Datei in C#
Im vorherigen Abschnitt haben wir eine HTML-Datei erstellt. Jetzt laden wir die Datei und lesen ihren Inhalt, indem wir die folgenden Schritte ausführen:
- Laden Sie eine vorhandene HTML-Datei mithilfe der HTMLDocument Klasse.
- Lesen und zeigen Sie den Inhalt von HTMLDocument.DocumentElement.OuterHTML.
Das folgende Codebeispiel zeigt, wie eine HTML-Datei mit C# gelesen wird.
// Dieses Codebeispiel zeigt, wie eine HTML-Datei gelesen wird
// Bereiten Sie einen Ausgabepfad für eine Dokumentenspeicherung vor
string documentPath = @"C:\Files\html\create-new-document.html";
// Laden Sie eine HTML-Datei
var document = new HTMLDocument(documentPath);
// Schreiben Sie den Dokumentinhalt in den Ausgabestrom
Console.WriteLine(document.DocumentElement.OuterHTML);
<html><head></head><body><h2>This is Sample Heading!</h2><p id="first-paragraph">This is first paragraph. </p><ol><li>First list item.</li><li>Second list item.</li></ol></body></html>
Bearbeiten Sie eine HTML-Datei in C#
Wir können auch den Inhalt von HTML Dateien aktualisieren. Wir können weitere Knoten/Elemente hinzufügen, indem wir die oben genannten Schritte ausführen. Wir können jedoch die vorhandenen Notizen/Elemente ändern, indem wir die folgenden Schritte ausführen:
- Laden Sie eine vorhandene HTML-Datei mithilfe der HTMLDocument Klasse.
- Rufen Sie als Nächstes die Methode CreateTextNode() auf, um den Textknoten hinzuzufügen.
- Rufen Sie als Nächstes das erste Absatzelement mit der Methode GetElementsByTagName() ab. Es nimmt “p” als Argument.
- Rufen Sie danach die Methode AppendChild() auf, um den Textknoten anzuhängen.
- Wiederholen Sie die obigen Schritte, um weitere Elemente zu ändern.
- Speichern Sie abschließend das HTML Dokument mit der Methode Save(). Es nimmt den Pfad der Ausgabedatei als Argument.
Das folgende Codebeispiel zeigt, wie Sie eine HTML-Datei mit C# ändern.
// Dieses Codebeispiel zeigt, wie Sie den Inhalt einer HTML-Datei bearbeiten.
// Bereiten Sie einen Ausgabepfad für eine Dokumentenspeicherung vor
string documentPath = @"C:\Files\html\create-new-document.html";
// Erstellen Sie eine Instanz eines HTML Dokuments
var document = new HTMLDocument(documentPath);
// Erstellen Sie einen Textknoten
var oldParaText = document.CreateTextNode("This is old first paragraph.");
// Holen Sie sich das erste Absatzelement
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.AppendChild(oldParaText);
// Speichern Sie das HTML Dokument in einer Datei
document.Save(@"C:\Files\html\modify.html");
Das folgende Codebeispiel zeigt ein komplexeres Beispiel, in dem wir neue Elemente hinzufügen und die vorhandenen ändern.
// Dieses Codebeispiel demonstriert, wie Elemente in einer HTML-Datei gespeichert und bearbeitet werden.
// Bereiten Sie einen Ausgabepfad für eine Dokumentenspeicherung vor
string documentPath = @"C:\Files\html\create-new-document.html";
// Erstellen Sie eine Instanz eines HTML Dokuments
var document = new HTMLDocument(documentPath);
// Erstellen Sie ein Stilelement und weisen Sie allen Elementen mit dem Klassennamen gleich „gr“ die grüne Farbe zu.
var style = document.CreateElement("style");
style.TextContent = ".rd { color: red }";
// Suchen Sie das Kopfzeilenelement des Dokuments und hängen Sie das Stilelement an die Kopfzeile an
var head = document.GetElementsByTagName("head").First();
head.AppendChild(style);
// Erstellen Sie einen Textknoten
var oldParaText = document.CreateTextNode("This is old first paragraph.");
// Erstellen Sie ein Absatzelement mit dem Klassennamen „gr“.
var p = (HTMLParagraphElement)document.GetElementsByTagName("p").First();
p.ClassName = "rd";
p.AppendChild(oldParaText);
// Erstellen Sie ein Absatzelement
var newPara = (HTMLParagraphElement)document.CreateElement("p");
// Erstellen Sie einen Textknoten
var paraText = document.CreateTextNode("This is second paragraph. ");
// Fügen Sie den Text dem Absatz hinzu
newPara.AppendChild(paraText);
// Fügen Sie dem Dokumentkörper einen Absatz hinzu
document.Body.AppendChild(newPara);
// Speichern Sie das HTML Dokument in einer Datei
document.Save(@"C:\Files\html\edit.html");
Rohen HTML-Inhalt in C# hinzufügen
Wir können Elemente hinzufügen oder bearbeiten, indem wir manuell HTML-Code als Inhalt hinzufügen, indem wir die InnerHTML-Eigenschaft eines Elements verwenden. Wir können rohes HTML hinzufügen, indem wir die folgenden Schritte ausführen:
- Erstellen Sie zunächst eine Instanz der HTMLDocument Klasse.
- Legen Sie als Nächstes den Inhalt des Body.InnerHTML-Elements als rohen HTML-String fest.
- Speichern Sie abschließend das HTML Dokument mit der Methode Save(). Es nimmt den Pfad der Ausgabedatei als Argument.
Das folgende Codebeispiel zeigt, wie Sie mithilfe von C# unformatierten HTML-Inhalt zur Datei hinzufügen.
// Dieses Codebeispiel zeigt, wie HTML-Rohtext zum HTML-Text hinzugefügt wird.
// Erstellen Sie eine Instanz eines HTML Dokuments
using (var document = new HTMLDocument())
{
// Schreiben Sie den Inhalt des HTML Dokuments in die Konsolenausgabe
Console.WriteLine(document.DocumentElement.OuterHTML);
// Legen Sie den Inhalt des body-Elements fest
document.Body.InnerHTML = "<p>HTML is the standard markup language for Web pages.</p>";
/// Speichern Sie das HTML Dokument in einer Datei
document.Save(@"C:\Files\html\using-innerHTML.html");
}
Holen Sie sich eine kostenlose Lizenz
Sie können eine kostenlose temporäre Lizenz erhalten, um Aspose.HTML for .NET ohne Evaluierungseinschränkungen zu testen.
Fazit
In diesem Artikel haben wir gelernt, wie man:
- HTML Dokumente programmgesteuert erstellen;
- ein vorhandenes HTML Dokument aus dem lokalen Festplattenpfad laden;
- lesen Sie den HTML-Code aus der geladenen Datei;
- neuen Inhalt zu bestehender HTML-Datei hinzufügen;
- Ändern Sie vorhandene Inhalte in C#.
Neben dem Erstellen, Lesen und Bearbeiten von HTML Dateien in C# können Sie mithilfe von Dokumentation mehr über Aspose.HTML for .NET API erfahren. Bei Unklarheiten können Sie sich gerne in unserem kostenlosen Support-Forum an uns wenden.