Probador de XPath
XPath Tester
Evalúa una expresión XPath o un selector CSS sobre XML o HTML y enumera todos los nodos que coinciden.
Ejecuta una expresión XPath 1.0 o un selector CSS contra un documento XML o HTML y muestra cada nodo que coincidió, con la ruta absoluta a cada uno. La evaluación es la del propio navegador, así que lo que ves aquí es lo que hará `document.evaluate` en tu código.
Expresión XPath 1.0
Documento
Suelta un archivo
Se lee solo en esta pestaña.
Resultados
Los resultados aparecen aquí mientras escribes.
Cómo se ejecuta
- · La evaluación corre sobre
document.evaluate(XPath 1.0) yquerySelectorAlldel propio navegador. El tipado del resultado — conjunto de nodos, número, cadena, booleano —, la ruta absoluta de cada nodo y el manejo de los prefijos de espacio de nombres son de esta herramienta. - · El modo XML lee de forma estricta y dice qué está mal; el modo HTML lee con manga ancha, como hace un navegador. HTML normaliza los nombres de etiqueta a minúsculas, así que
//DIVno vale y//divsí. - · En un documento con un espacio de nombres por defecto (
xmlns="…"), un nombre sin prefijo no coincide con nada: esa es la regla de XPath 1.0. Usa el prefijo_como en//_:item. - · Las funciones de XPath 2.0 y 3.x (
matches,ends-with,lower-case) no están en ningún navegador.contains·starts-with·translate·normalize-spaceson lo que te da la 1.0. - · El documento se lee solo en esta pestaña y no se sube a ninguna parte.
Para JSON, el probador de JSONPath o el playground de jq es la herramienta adecuada.
Cómo se usa
Elige cómo se lee el documento
El modo XML es estricto e informa de lo que está mal formado. El modo HTML es permisivo como lo es un navegador, y normaliza los nombres de etiqueta a minúsculas.
Escribe la expresión
XPath o un selector CSS: el interruptor cambia cuál. Los botones de ejemplo cubren atributos, predicados, espacios de nombres, nodos de comentario y las funciones que devuelven escalares.
Lee primero el tipo de resultado
XPath devuelve cuatro clases de cosa, y solo una de ellas es un conjunto de nodos. `count()`, `string()` y `boolean()` te dan un valor único, mostrado por sí solo en lugar de como una lista de coincidencias vacía.
Preguntas frecuentes
Mi expresión no coincide con nada y el documento parece correcto.
Casi con certeza un espacio de nombres por defecto. Si el documento tiene `xmlns="…"` en su raíz, XPath 1.0 dice que un nombre sin prefijo no coincide con nada en absoluto: tienes que vincular un prefijo. Aquí ese prefijo es `_`, así que `//item` se convierte en `//_:item`.
¿Por qué `matches()` no existe?
Porque los navegadores implementan solo XPath 1.0. `matches`, `ends-with`, `lower-case` y el resto llegaron en 2.0 y ningún navegador lo tiene. El kit de 1.0 es `contains`, `starts-with`, `translate` y `normalize-space`.
¿XPath o CSS? ¿Cuál debería usar?
CSS es más corto y suficiente para la mayoría del scraping. XPath puede subir (`..`, `ancestor::`), coincidir por contenido de texto y devolver números y cadenas, nada de lo cual puede hacer un selector. Esta página ejecuta ambos para que puedas compararlos sobre el mismo documento.
¿Descarga una página por mí?
No. Tú pegas o sueltas el documento y se lee en esta pestaña. Descargar necesitaría un proxy —el navegador no deja que una página lea otro origen— y ese proxy vería todo lo que probaras.
Puede recibir de
Formateador y validador de XML
XML Formatter & Validator
Indenta XML e informa de la línea y la columna del primer fallo de buena formación.
JSON a XML y de vuelta
JSON ⇄ XML
Convierte entre JSON y XML con tratamiento configurable de atributos, arreglos y nodos de texto.
Probador de JSONPath
JSONPath Tester
Ejecuta una expresión JSONPath sobre un documento y resalta los nodos que coinciden mientras escribes.
Formateador y validador de JSON
JSON Formatter & Validator
Indenta, minifica y valida JSON, señalando la línea y la columna exactas del error de sintaxis.
Después
Estas aceptan lo que produce esta herramienta, así que el resultado puede pasar directamente.
Formateador y minificador de HTML
HTML Beautifier & Minifier
Formatea o minifica HTML preservando los elementos en línea, con opción de colapsar los espacios en blanco.
Probador de JSONPath
JSONPath Tester
Ejecuta una expresión JSONPath sobre un documento y resalta los nodos que coinciden mientras escribes.
JSON a XML y de vuelta
JSON ⇄ XML
Convierte entre JSON y XML con tratamiento configurable de atributos, arreglos y nodos de texto.
Formateador y validador de XML
XML Formatter & Validator
Indenta XML e informa de la línea y la columna del primer fallo de buena formación.
Codificador y decodificador Base64
Base64 Encoder & Decoder
Codifica y decodifica Base64 y Base64URL, para texto o archivos, tratando UTF-8 correctamente.
curl a código
curl to Code
Convierte un comando curl en fetch, axios, requests de Python, Go, PHP o PowerShell.