HTML mit Aspose.HTML for .NET laden
Aspose.HTML for .NET lädt HTML in ein HTMLDocument , das den Dokumentbaum für DOM-Abfragen, Inhaltsänderungen, Datenextraktion, Speicherung und Konvertierung im Arbeitsspeicher bereitstellt. Die verfügbaren HTMLDocument-Konstruktoren akzeptieren einen lokalen Pfad, eine entfernte URL, eine Markup-Zeichenfolge oder einen Stream.
Eine HTML-Datei in C# laden
Übergeben Sie einen lokalen Dateipfad an den HTMLDocument-Konstruktor. Nach dem Laden stellt das Dokument das geparste DOM bereit. Das folgende Beispiel öffnet input.html und liest über
OuterHTML
das vollständige Markup des Dokumentelements.
C#-Code zum Laden eines HTML-Dokuments aus einer Datei
using System;
using Aspose.Html;
using HTMLDocument document = new HTMLDocument("input.html");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
HTML-Quelle und Konstruktor auswählen
- Lokale Datei. Übergeben Sie den Dateipfad, wenn HTML bereits auf dem Datenträger vorhanden ist und relative Ressourcen vom Speicherort des Dokuments aufgelöst werden sollen.
- Entfernte URL. Übergeben Sie eine HTTP- oder HTTPS-Adresse, wenn die Anwendung eine Webseite und ihre zulässigen externen Ressourcen laden soll.
- Markup-Zeichenfolge. Übergeben Sie den HTML-Code zusammen mit einer Basis-URL, wenn das Markup bereits im Arbeitsspeicher vorliegt.
- Stream. Übergeben Sie einen lesbaren Stream und eine Basis-URL, wenn HTML aus einem Upload, Antworttext, einer Datenbank oder einer anderen In-Memory-Quelle stammt.
HTML in C# von einer URL laden
Der Konstruktor mit einer einzelnen Adresse kann eine entfernte Webseite öffnen. Beim Laden per URL werden auch externe Ressourcen verarbeitet, die erreichbar und durch die Umgebungskonfiguration zugelassen sind. Anschließend können Sie das Dokument mit DOM-Eigenschaften und -Methoden untersuchen oder ändern.
C#-Code zum Laden eines HTML-Dokuments von einer URL
using System;
using Aspose.Html;
using HTMLDocument document =
new HTMLDocument("https://docs.aspose.com/html/net/creating-a-document/");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
HTML in C# aus einer Zeichenfolge laden
Verwenden Sie den Konstruktor mit zwei Argumenten, wenn die Anwendung das HTML-Markup bereits als Zeichenfolge enthält. Das zweite Argument ist die Basis-URL zum Auflösen relativer Bilder, Stylesheets, Skripte, Schriftarten und Links. Dieses eigenständige Beispiel verwendet "." für das aktuelle Verzeichnis; enthält das Markup relative Verweise, geben Sie das tatsächliche Verzeichnis oder die Webadresse an.
C#-Code zum Erstellen eines HTML-Dokuments aus einer Zeichenfolge
using System;
using Aspose.Html;
string markup = "<p>HTML loaded from a string</p>";
// Use the current directory as the base URL
string baseUrl = ".";
using HTMLDocument document = new HTMLDocument(markup, baseUrl);
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
HTML in C# aus einem Stream laden
Der Stream-Konstruktor liest ab der aktuellen Streamposition. Wenn die Anwendung HTML gerade geschrieben hat, leeren Sie den Writerpuffer und setzen Sie die Position zurück, bevor Sie das Dokument erstellen. Lassen Sie den Stream geöffnet, bis HTMLDocument ihn vollständig gelesen hat. Das Beispiel verwendet "." als Basis für das aktuelle Verzeichnis, da das Markup keine relativen Ressourcen enthält.
C#-Code zum Laden eines HTML-Dokuments aus einem Stream
using System;
using System.IO;
using System.Text;
using Aspose.Html;
using MemoryStream stream = new MemoryStream();
// Keep the stream open after disposing the writer
using (StreamWriter writer = new StreamWriter(stream, Encoding.UTF8, 1024, true))
{
writer.Write("<p>HTML loaded from a stream</p>");
writer.Flush();
}
// Reset the stream before HTMLDocument reads it
stream.Position = 0;
using HTMLDocument document =
new HTMLDocument(stream, ".");
string html = document.DocumentElement.OuterHTML;
Console.WriteLine(html);
Verhalten und Hinweise beim Laden von HTML
- Konstruktoren parsen HTML in ein DOM. Der resultierende Baum folgt den HTML-Parsingregeln. Eine spätere Serialisierung kann Struktur oder Markup normalisieren, sodass keine bytegenaue Kopie der Quelle zu erwarten ist.
- Eine Basis-URL steuert relative Ressourcen. Zeichenfolgen und Streams besitzen keinen eigenen Dokumentstandort. Geben Sie den Ort an, von dem relative CSS-Dateien, Bilder, Skripte, Schriftarten und Links aufgelöst werden sollen.
- Dokumentkonstruktoren laden synchron. Sie warten auf das Dokument und zulässige externe Ressourcen. Verwenden Sie
Navigate()und Dokumentereignisse, wenn die Anwendung eine asynchrone Navigation benötigt. - Entferntes Laden hängt von der Umgebung ab. Ungültige Adressen, Weiterleitungen, Authentifizierung, Netzwerkfehler und Sicherheitsbeschränkungen können das Laden verhindern.
- Geladene Dokumente müssen freigegeben werden.
HTMLDocumenthält Dokument- und Ressourcenstatus. Eineusing-Deklaration oder einusing-Block gibt diesen Status nach der Verarbeitung frei.
Dokumentation und API-Referenz zum Laden von HTML
Die Anleitung HTML-Dokumente erstellen oder laden enthält Konstruktorbeispiele, Hinweise zur Basis-URL, asynchrone Navigation und häufige Ladeprobleme. Nach dem Laden erläutert die Anleitung HTML DOM die Knotennavigation, während HTML-Dokument bearbeiten Änderungen an Inhalten und Attributen beschreibt. Für ein neues Dokument ohne vorhandene Quelle verwenden Sie HTML in C# erstellen .
Aspose.HTML for .NET installieren
Installieren Sie Aspose.HTML for .NET aus NuGet mit der .NET CLI:
dotnet add package Aspose.HTML
Alternativ können Sie die Benutzeroberfläche des NuGet-Paket-Managers verwenden oder Install-Package Aspose.HTML in der Paket-Manager-Konsole ausführen. Einzelheiten zur Einrichtung finden Sie in der
Installationsanleitung
. Mit einer
temporären Lizenz
können Sie die API ohne Einschränkungen der Evaluierung testen.
FAQ zum Laden von HTML
1. Wie lade ich ein HTML-Dokument in C#?
Übergeben Sie einen lokalen Pfad oder eine URL an einen HTMLDocument-Konstruktor. Bei Markup in einer Zeichenfolge oder einem Stream übergeben Sie den Inhalt zusammen mit einer Basis-URL. Der Konstruktor parst die Quelle und stellt das resultierende HTML-DOM bereit.
2. Bleibt das ursprüngliche HTML-Markup beim Laden exakt erhalten?
Verlassen Sie sich nicht auf bytegenaue Identität. Aspose.HTML parst die Quelle in ein DOM, und eine spätere Serialisierung kann implizite Elemente, Zeichenkodierung, Leerraum oder Markupstruktur normalisieren, während das Dokumentmodell erhalten bleibt.
3. Kann Aspose.HTML eine Webseite asynchron laden?
Ja. Konstruktoren laden synchron. Die Anleitung
HTML asynchron laden
zeigt, wie Sie das Dokument erstellen, Ereignisse wie OnReadyStateChange oder OnLoad abonnieren, Navigate() aufrufen und eine anwendungsdefinierte Zeitüberschreitung verwenden.
4. Warum kann ein entferntes HTML-Dokument nicht geladen werden?
Häufige Ursachen sind eine ungültige oder nicht erreichbare URL, Weiterleitungen, erforderliche Authentifizierung, Netzwerkbeschränkungen, blockierte externe Ressourcen oder Sicherheitseinstellungen. Prüfen Sie die Adresse und erlauben Sie nur den benötigten Netzwerkzugriff.
5. Wie kann eine Anwendung externe Ressourcen beim Laden von HTML einschränken?
Erstellen Sie das Dokument mit einer Configuration, die die erforderlichen Sicherheits- und Ressourcenladeeinstellungen anwendet. Beschränken Sie den Remotezugriff auf vertrauenswürdige Orte, besonders wenn HTML oder URL von Benutzern stammen.
Verwandte Workflows für HTML-Dokumente
Fahren Sie mit Erstellung, Bearbeitung, Elementauswahl oder strukturierten Abfragen fort.