Testar expressões XPath online

Use o XPath Tester para encontrar nós em uma página web pública com uma expressão XPath. Insira uma URL e uma expressão como //img, //main//a ou //*[@data-id]. A ferramenta mostra os nós correspondentes e gera o código C# para a mesma consulta.

  1. Insira a URL da página web que deseja inspecionar.
  2. Insira uma expressão XPath que identifique os nós necessários.
  3. Clique em Find, examine as correspondências e copie o resultado ou o código C# gerado.


Avaliar uma consulta XPath em HTML com C#

O Aspose.HTML for .NET avalia expressões XPath no DOM do documento. Este exemplo carrega a URL exibida no widget, chama Evaluate() e processa o IXPathResult retornado. Ao alterar a URL ou a expressão no widget, este exemplo C# renderizado no servidor é atualizado automaticamente. O nó de contexto define onde a avaliação começa, enquanto XPathResultType determina o tipo de resultado solicitado.

Consulta XPath em 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;
}

Padrões comuns de consultas XPath

O XPath pode selecionar elementos por nome, atributo, posição, hierarquia ou conteúdo textual:

  • //img seleciona todos os elementos <img> do documento.
  • //main//a seleciona links em qualquer nível dentro de <main>.
  • //*[@data-id] seleciona elementos que possuem o atributo data-id.
  • //ul/li[1] seleciona o primeiro filho <li> de cada elemento <ul>.
  • //p[contains(normalize-space(.), 'price')] seleciona parágrafos cujo texto normalizado contém price.

Para consultas concisas por classe, ID, atributo ou elemento que não exijam condições de texto nem eixos XPath, o CSS Selector Tester costuma ser mais fácil de ler.


Usar a API XPath em C#

  1. Crie um HTMLDocument a partir de um arquivo HTML local ou de uma URL.
  2. Defina a expressão XPath e escolha o nó de contexto apropriado.
  3. Chame Evaluate() com a expressão, o contexto, o resolvedor de namespace quando necessário e o XPathResultType esperado.
  4. Leia o valor retornado ou percorra os nós correspondentes com IterateNext() .

Quando uma expressão usar prefixos de namespace, forneça um resolvedor que associe esses prefixos aos URIs de namespace. Para consultas HTML comuns sem prefixos, o resolvedor pode ser null.


Documentação do XPath e referência da API

Use estes recursos para consultar a avaliação de XPath, a navegação em HTML e exemplos específicos para XML:


Instalar o Aspose.HTML for .NET

Instale o Aspose.HTML for .NET pelo NuGet usando a CLI do .NET:

dotnet add package Aspose.HTML

Você também pode usar a interface do Gerenciador de Pacotes NuGet ou executar Install-Package Aspose.HTML no Console do Gerenciador de Pacotes. Consulte o guia de instalação para configurar a biblioteca ou solicite uma licença temporária para avaliar a API sem limitações.


Perguntas frequentes

1. O que é uma expressão XPath?

Uma expressão XPath é uma consulta que seleciona nós ou calcula valores na árvore de um documento HTML ou XML. Ela pode usar caminhos, eixos, predicados e funções para descrever o resultado necessário.

2. O XPath pode consultar HTML e XML?

Sim. O XPath opera em uma árvore DOM e pode selecionar nós em documentos HTML ou XML. O testador online destina-se a páginas HTML públicas; use o fluxo de trabalho C# documentado para XML quando precisar lidar com namespaces ou carregamento específico de XML.

3. Por que uma expressão XPath não retorna nós?

Verifique os nomes dos nós, os predicados, o nó de contexto e a estrutura do documento carregado. Para XML ou conteúdo com namespace, forneça também um resolvedor que associe cada prefixo usado na expressão ao respectivo URI.

4. Quando devo usar XPath em vez de um seletor CSS?

Use XPath quando a consulta precisar corresponder texto, navegar até elementos ancestrais ou irmãos, ou aplicar predicados difíceis de expressar em CSS. Use um seletor CSS para consultas comuns por classe, ID, atributo e descendentes.

Fluxos relacionados de seleção e edição de HTML

Continue com seletores CSS, edição do DOM, extração de tabelas ou extração de imagens em C#.