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.

  1. Geben Sie die URL der zu untersuchenden Webseite ein.
  2. Geben Sie einen XPath-Ausdruck für die gewünschten Knoten ein.
  3. 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:

  • //img wählt alle <img>-Elemente im Dokument aus.
  • //main//a wählt Links in beliebiger Verschachtelungstiefe innerhalb von <main> aus.
  • //*[@data-id] wählt Elemente mit einem data-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 Text price enthä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

  1. Erstellen Sie ein HTMLDocument aus einer lokalen HTML-Datei oder URL.
  2. Definieren Sie den XPath-Ausdruck und wählen Sie den passenden Kontextknoten.
  3. Rufen Sie Evaluate() mit Ausdruck, Kontext, einem Namespace-Resolver bei Bedarf und dem erwarteten XPathResultType auf.
  4. 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:


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.