AngleSharp C# (.NET): Komplettguide mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

AngleSharp für C# (.NET): Komplettguide mit Beispielen

AngleSharp ist eine moderne, leistungsstarke Bibliothek zum Parsen und Manipulieren von HTML-, CSS-, XML- und SVG-Dokumenten im .NET-Ökosystem. Sie bietet C#-Entwicklern eine vollwertige DOM-Implementierung (Document Object Model), die den W3C-Standards sehr nahe kommt. Im Gegensatz zu vielen anderen Parsern erstellt AngleSharp nicht nur Daten aus einem String – es baut einen vollständigen DOM-Baum auf, mit dem Sie genauso arbeiten können wie im Browser: Elemente per Selektor finden, Attribute ändern, Knoten hinzufügen oder entfernen und das Ergebnis zurück in HTML serialisieren.

Warum brauchen Sie diese Bibliothek? In der modernen Webentwicklung und Automatisierung ist es oft notwendig, HTML-Seiten programmatisch zu analysieren. Das kann das Parsen von Daten für Analysen, Web Scraping (Extrahieren von Inhalten von Websites), das Testen von Webanwendungen, das Erstellen statischer Website-Generatoren oder sogar das Schreiben einer eigenen Browser-Engine sein. AngleSharp ist ideal für diese Aufgaben, da es vollständig in C# geschrieben ist, keine externen Abhängigkeiten (außer .NET Standard) hat und deutlich schneller arbeitet als beispielsweise die Kombination von HtmlAgilityPack mit regulären Ausdrücken. Darüber hinaus unterstützt die Bibliothek CSS-Selektoren, was die Navigation im DOM-Baum für jeden Webentwickler intuitiv macht.

Ein weiterer großer Vorteil von AngleSharp ist seine Modularität und Erweiterbarkeit. Sie können zusätzliche Pakete für die Arbeit mit CSS, JavaScript-Engines (z. B. Jint) oder zum Parsen von SVG einbinden. Die Bibliothek wird von der Community aktiv gepflegt, verfügt über eine ausführliche Dokumentation und wird von vielen Unternehmen in der Produktion eingesetzt. In diesem Guide gehen wir detailliert auf die Installation, die wichtigsten Methoden und Klassen ein und zeigen ein praktisches Beispiel zum Parsen einer Webseite.

Installation

AngleSharp wird über NuGet, den Paketmanager für .NET, verteilt. Sie können es auf zwei Arten installieren:

Über die .NET CLI (empfohlen)

dotnet add package AngleSharp

Über die Package Manager Console in Visual Studio

Install-Package AngleSharp

Für die CSS-Parsing-Funktionalität installieren Sie zusätzlich das folgende Paket:

dotnet add package AngleSharp.Css

Fügen Sie nach der Installation die using-Direktive in Ihren Code ein:

using AngleSharp;
using AngleSharp.Dom;
using AngleSharp.Html.Parser;

Schnellstart – Minimales Arbeitsbeispiel

Schreiben wir ein einfaches Programm, das einen HTML-String lädt und die Überschrift (<h1>) daraus extrahiert:

using AngleSharp;
using AngleSharp.Html.Parser;

// 1. Parser erstellen
var parser = new HtmlParser();

// 2. HTML-String in ein DOM-Dokument parsen
var html = @"<!DOCTYPE html>
<html>
<head><title>Testseite</title></head>
<body>
    <h1>Hallo, AngleSharp!</h1>
    <p>Dies ist ein Absatz.</p>
</body>
</html>";

var document = parser.ParseDocument(html);

// 3. h1-Element finden und Text ausgeben
var h1 = document.QuerySelector("h1");
Console.WriteLine(h1?.TextContent); // Ausgabe: Hallo, AngleSharp!

// 4. Gesamtes HTML zurück ausgeben (Serialisierung)
Console.WriteLine(document.DocumentElement.OuterHtml);

Dieses Beispiel zeigt den grundlegenden Arbeitsablauf mit der Bibliothek: Parsen → Element suchen → Daten extrahieren. Beachten Sie, dass die Methode QuerySelector einen CSS-Selektor akzeptiert, was sehr praktisch ist.

Wichtige Methoden, Klassen und Interfaces

AngleSharp bietet eine umfangreiche API. Im Folgenden finden Sie 8 Schlüsselelemente, die Sie in 90 % der Fälle benötigen werden.

1. HtmlParser – Die Hauptklasse zum Parsen

Signatur: public class HtmlParser : IHtmlParser

Empfehlungen