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.
- Introduzca la URL de la página web que desea inspeccionar.
- Introduzca una expresión XPath que identifique los nodos necesarios.
- 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:
//imgselecciona todos los elementos<img>del documento.//main//aselecciona enlaces a cualquier profundidad dentro de<main>.//*[@data-id]selecciona elementos que tienen el atributodata-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 contieneprice.
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#
- Cree un
HTMLDocumentdesde un archivo HTML local o una URL. - Defina la expresión XPath y elija el nodo de contexto adecuado.
- Llame a
Evaluate()con la expresión, el contexto, un resolver de espacios de nombres cuando sea necesario y elXPathResultTypeesperado. - 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:
- Cómo usar XPath – método Evaluate()
explica los parámetros de
Evaluate()y la selección de nodos en C#. - Navegación HTML – ejemplos en C# compara XPath, los selectores CSS y el recorrido directo del DOM.
- Seleccionar nodos XML con XPath trata las consultas XPath en documentos 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#.