Probar expresiones XPath online

Utilice XPath Tester para encontrar nodos de una página web pública mediante una expresión XPath. Introduzca una URL y una expresión como //img, //main//a o //*[@data-id]. La herramienta muestra los nodos coincidentes y genera código C# para la misma consulta.

  1. Introduzca la URL de la página web que desea inspeccionar.
  2. Introduzca una expresión XPath que identifique los nodos necesarios.
  3. Haga clic en Find, revise las coincidencias y copie el resultado o el código C# generado.


Evaluar una consulta XPath sobre HTML en C#

Aspose.HTML for .NET evalúa expresiones XPath en el DOM del documento. Este ejemplo carga la URL mostrada en el widget, llama a Evaluate() y procesa el IXPathResult devuelto. Al cambiar la URL o la expresión en el widget, este ejemplo de C# renderizado en el servidor se actualiza automáticamente. El nodo de contexto define el punto inicial de la evaluación y XPathResultType especifica el tipo de resultado solicitado.

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

Patrones habituales de consultas XPath

XPath puede seleccionar elementos por nombre, atributo, posición, jerarquía o contenido textual:

  • //img selecciona todos los elementos <img> del documento.
  • //main//a selecciona enlaces a cualquier profundidad dentro de <main>.
  • //*[@data-id] selecciona elementos que tienen el atributo data-id.
  • //ul/li[1] selecciona el primer elemento <li> hijo de cada lista <ul>.
  • //p[contains(normalize-space(.), 'price')] selecciona párrafos cuyo texto normalizado contiene price.

Para consultas concisas por clase, ID, atributo o elemento que no necesiten condiciones de texto ni ejes XPath, CSS Selector Tester suele resultar más legible.


Usar la API XPath en C#

  1. Cree un HTMLDocument desde un archivo HTML local o una URL.
  2. Defina la expresión XPath y elija el nodo de contexto adecuado.
  3. Llame a Evaluate() con la expresión, el contexto, un resolver de espacios de nombres cuando sea necesario y el XPathResultType esperado.
  4. Lea el valor devuelto o recorra los nodos coincidentes con IterateNext() .

Cuando una expresión utilice prefijos de espacios de nombres, proporcione un resolver que asocie esos prefijos con sus URI. Para consultas HTML normales sin prefijos, el resolver puede ser null.


Documentación y referencia de API para XPath

Estos recursos explican la evaluación de XPath, la navegación HTML y ejemplos específicos para XML:


Instalar Aspose.HTML for .NET

Instale Aspose.HTML for .NET desde NuGet con la CLI de .NET:

dotnet add package Aspose.HTML

También puede usar la interfaz del Administrador de paquetes NuGet o ejecutar Install-Package Aspose.HTML en la consola del Administrador de paquetes. Consulte la guía de instalación para configurar la biblioteca o solicite una licencia temporal para evaluar la API sin limitaciones.


Preguntas frecuentes

1. ¿Qué es una expresión XPath?

Una expresión XPath es una consulta que selecciona nodos o calcula valores a partir del árbol de un documento HTML o XML. Puede utilizar rutas, ejes, predicados y funciones para describir el resultado necesario.

2. ¿Puede XPath consultar tanto HTML como XML?

Sí. XPath trabaja con un árbol DOM y puede seleccionar nodos en documentos HTML o XML. La herramienta online está destinada a páginas HTML públicas; para XML, espacios de nombres o requisitos de carga específicos, utilice el flujo de C# documentado.

3. ¿Por qué una expresión XPath no devuelve nodos?

Compruebe los nombres de los nodos, los predicados, el nodo de contexto y la estructura del documento cargado. Para XML o contenido con espacios de nombres, proporcione también un resolver que asocie cada prefijo con su URI.

4. ¿Cuándo debo usar XPath en lugar de un selector CSS?

Utilice XPath cuando la consulta deba comprobar texto, navegar a antecesores o hermanos, o aplicar predicados difíciles de expresar con CSS. Utilice un selector CSS para consultas por clase, ID, atributo y descendientes.

Flujos relacionados de selección y edición de HTML

Continúe con selectores CSS, edición del DOM o extracción de datos de tablas e imágenes en C#.