Tester des expressions XPath en ligne

Utilisez XPath Tester pour rechercher des nœuds sur une page web publique à l’aide d’une expression XPath. Saisissez une URL et une expression telle que //img, //main//a ou //*[@data-id]. L’outil affiche les nœuds correspondants et génère le code C# de la même requête.

  1. Saisissez l’URL de la page web à examiner.
  2. Saisissez une expression XPath qui identifie les nœuds recherchés.
  3. Cliquez sur Find, examinez les correspondances, puis copiez le résultat ou le code C# généré.


Évaluer une requête XPath sur du HTML en C#

Aspose.HTML for .NET évalue les expressions XPath dans le DOM du document. Cet exemple charge l’URL affichée dans le widget, appelle Evaluate() et traite l’objet IXPathResult renvoyé. Lorsque vous modifiez l’URL ou l’expression dans le widget, cet exemple C# rendu côté serveur est automatiquement mis à jour. Le nœud de contexte définit le point de départ de l’évaluation, tandis que XPathResultType indique le type de résultat demandé.

Requête XPath en 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;
}

Modèles courants de requêtes XPath

XPath permet de sélectionner des éléments par nom, attribut, position, hiérarchie ou contenu textuel :

  • //img sélectionne chaque élément <img> du document.
  • //main//a sélectionne les liens situés à n’importe quel niveau dans <main>.
  • //*[@data-id] sélectionne les éléments qui possèdent un attribut data-id.
  • //ul/li[1] sélectionne le premier enfant <li> de chaque élément <ul>.
  • //p[contains(normalize-space(.), 'price')] sélectionne les paragraphes dont le texte normalisé contient price.

Pour des requêtes concises par classe, ID, attribut ou nom d’élément qui n’exigent ni condition sur le texte ni axe XPath, CSS Selector Tester est souvent plus facile à lire.


Utiliser l’API XPath en C#

  1. Créez un HTMLDocument à partir d’un fichier HTML local ou d’une URL.
  2. Définissez l’expression XPath et choisissez le nœud de contexte approprié.
  3. Appelez Evaluate() avec l’expression, le contexte, le résolveur d’espaces de noms si nécessaire et le XPathResultType attendu.
  4. Lisez la valeur renvoyée ou parcourez les nœuds correspondants avec IterateNext() .

Lorsqu’une expression utilise des préfixes d’espace de noms, fournissez un résolveur qui associe ces préfixes aux URI des espaces de noms. Pour les requêtes HTML ordinaires sans préfixe, le résolveur peut être null.


Documentation XPath et référence de l’API

Consultez ces ressources pour l’évaluation XPath, la navigation HTML et les exemples propres au XML :


Installer Aspose.HTML for .NET

Installez Aspose.HTML for .NET depuis NuGet avec l’interface CLI .NET :

dotnet add package Aspose.HTML

Vous pouvez également utiliser l’interface du gestionnaire de packages NuGet ou exécuter Install-Package Aspose.HTML dans la console du gestionnaire de packages. Consultez le guide d’installation pour la configuration, ou demandez une licence temporaire afin d’évaluer l’API sans limitations.


FAQ

1. Qu’est-ce qu’une expression XPath ?

Une expression XPath est une requête qui sélectionne des nœuds ou calcule des valeurs à partir de l’arborescence d’un document HTML ou XML. Elle peut utiliser des chemins, des axes, des prédicats et des fonctions pour décrire le résultat recherché.

2. XPath peut-il interroger du HTML ainsi que du XML ?

Oui. XPath agit sur une arborescence DOM et peut sélectionner des nœuds dans des documents HTML ou XML. Le testeur en ligne est destiné aux pages web HTML publiques ; utilisez le workflow C# documenté pour le XML lorsqu’une gestion des espaces de noms ou un chargement propre au XML est nécessaire.

3. Pourquoi une expression XPath ne renvoie-t-elle aucun nœud ?

Vérifiez les noms de nœuds, les prédicats, le nœud de contexte et la structure du document chargé. Pour le XML ou le contenu qualifié par un espace de noms, fournissez également un résolveur qui associe chaque préfixe utilisé dans l’expression.

4. Quand faut-il utiliser XPath plutôt qu’un sélecteur CSS ?

Utilisez XPath lorsque la requête doit rechercher du texte, remonter vers des ancêtres, parcourir des éléments frères ou appliquer des prédicats difficiles à exprimer en CSS. Utilisez un sélecteur CSS pour les requêtes courantes par classe, ID, attribut ou descendant.

Opérations associées de sélection et de modification HTML

Poursuivez avec les sélecteurs CSS, la modification du DOM, l’extraction de tableaux ou l’extraction d’images en C#.