XPath-Ausdrücke online testen
Mit dem XPath Tester finden Sie Knoten auf einer öffentlichen Webseite anhand eines XPath-Ausdrucks. Geben Sie eine URL und einen Ausdruck wie //img, //main//a oder //*[@data-id] ein. Das Tool zeigt die passenden Knoten an und erzeugt C#-Code für dieselbe Abfrage.
- Geben Sie die URL der zu untersuchenden Webseite ein.
- Geben Sie einen XPath-Ausdruck für die gewünschten Knoten ein.
- Klicken Sie auf Find, prüfen Sie die Treffer und kopieren Sie das Ergebnis oder den erzeugten C#-Code.
Eine XPath-Abfrage für HTML in C# auswerten
Aspose.HTML for .NET
wertet XPath-Ausdrücke im DOM des Dokuments aus. Dieses Beispiel lädt die im Widget angezeigte URL, ruft
Evaluate()
auf und verarbeitet das zurückgegebene IXPathResult. Wenn Sie die URL oder den Ausdruck im Widget ändern, wird dieses serverseitig gerenderte C#-Beispiel automatisch aktualisiert. Der Kontextknoten legt den Startpunkt der Auswertung fest, während XPathResultType den angeforderten Ergebnistyp bestimmt.
XPath-Abfrage in C#
using System;
using Aspose.Html;
using Aspose.Html.Dom;
using Aspose.Html.Dom.XPath;
// Create an HTML document
string url = "https://www.aspose.com/";
using HTMLDocument document = new HTMLDocument(url);
// Evaluate the XPath expression
IXPathResult result = document.Evaluate("//a", document, null, XPathResultType.Any, null);
// Process the XPath result
switch (result.ResultType)
{
case XPathResultType.Number:
Console.WriteLine(result.NumberValue);
break;
case XPathResultType.String:
Console.WriteLine(result.StringValue);
break;
case XPathResultType.Boolean:
Console.WriteLine(result.BooleanValue);
break;
default:
Node node;
while ((node = result.IterateNext()) != null)
{
if (node is Element element)
{
Console.WriteLine(element.OuterHTML);
}
else
{
Console.WriteLine(node.TextContent);
}
}
break;
}
Häufige XPath-Abfragemuster
XPath kann Elemente nach Name, Attribut, Position, Hierarchie oder Textinhalt auswählen:
//imgwählt alle<img>-Elemente im Dokument aus.//main//awählt Links in beliebiger Verschachtelungstiefe innerhalb von<main>aus.//*[@data-id]wählt Elemente mit einemdata-id-Attribut aus.//ul/li[1]wählt das erste<li>-Kindelement jeder<ul>-Liste aus.//p[contains(normalize-space(.), 'price')]wählt Absätze aus, deren normalisierter Textpriceenthält.
Für übersichtliche Abfragen nach Klasse, ID, Attribut oder Element, die keine Textbedingungen oder XPath-Achsen benötigen, ist der CSS Selector Tester häufig leichter lesbar.
XPath API in C# verwenden
- Erstellen Sie ein
HTMLDocumentaus einer lokalen HTML-Datei oder URL. - Definieren Sie den XPath-Ausdruck und wählen Sie den passenden Kontextknoten.
- Rufen Sie
Evaluate()mit Ausdruck, Kontext, einem Namespace-Resolver bei Bedarf und dem erwartetenXPathResultTypeauf. - Lesen Sie den zurückgegebenen Wert oder durchlaufen Sie passende Knoten mit
IterateNext().
Wenn ein Ausdruck Namespace-Präfixe verwendet, übergeben Sie einen Resolver, der diese Präfixe den entsprechenden Namespace-URIs zuordnet. Für gewöhnliche HTML-Abfragen ohne Präfixe kann der Resolver null sein.
Dokumentation und API-Referenz zu XPath
Diese Ressourcen erläutern die XPath-Auswertung, HTML-Navigation und XML-spezifische Beispiele:
- XPath verwenden – Methode Evaluate()
erklärt die Parameter von
Evaluate()und die Knotenauswahl in C#. - HTML-Navigation in C# vergleicht XPath, CSS-Selektoren und die direkte DOM-Navigation.
- XML-Knoten mit XPath auswählen behandelt XPath-Abfragen für XML-Dokumente.
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.
Häufig gestellte Fragen
1. Was ist ein XPath-Ausdruck?
Ein XPath-Ausdruck ist eine Abfrage, die Knoten auswählt oder Werte aus dem Baum eines HTML- oder XML-Dokuments berechnet. Pfade, Achsen, Prädikate und Funktionen beschreiben das gewünschte Ergebnis.
2. Kann XPath sowohl HTML als auch XML abfragen?
Ja. XPath arbeitet mit einem DOM-Baum und kann Knoten in HTML- oder XML-Dokumenten auswählen. Das Online-Tool ist für öffentliche HTML-Webseiten vorgesehen; für XML, Namespace-Verarbeitung oder besondere Ladeanforderungen verwenden Sie den dokumentierten C#-Workflow.
3. Warum gibt ein XPath-Ausdruck keine Knoten zurück?
Prüfen Sie Knotennamen, Prädikate, Kontextknoten und Struktur des geladenen Dokuments. Übergeben Sie für XML oder Inhalte mit Namespaces außerdem einen Resolver, der jedes Präfix im Ausdruck einer Namespace-URI zuordnet.
4. Wann sollte ich XPath statt eines CSS-Selektors verwenden?
Verwenden Sie XPath, wenn eine Abfrage Text prüfen, zu Vorfahren oder Geschwistern navigieren oder Prädikate anwenden muss, die in CSS umständlich sind. Für Klassen-, ID-, Attribut- und Nachfahrenabfragen eignet sich ein CSS-Selektor.
Verwandte Workflows für HTML-Auswahl und -Bearbeitung
Arbeiten Sie mit CSS-Selektoren, DOM-Bearbeitung sowie der Extraktion von Tabellen- oder Bilddaten in C# weiter.