Herramientas
ES

Tester de XPath online

Escribe una expresión XPath y observa el resultado al instante: los elementos, atributos y texto que coinciden, o el número, la cadena o el booleano que devuelve la expresión. El tester usa el motor XPath 1.0 integrado en tu navegador.

Ejemplos (haz clic para probarlos):

    Privado: tus datos se procesan en tu navegador y nunca se suben a ningún servidor.

    Cómo probar una expresión XPath

    1. Pega tu XML, abre un archivo o usa el catálogo de productos de ejemplo.
    2. Escribe una expresión XPath o haz clic en uno de los ejemplos. El resultado se actualiza mientras escribes, y Enter la evalúa de inmediato.
    3. Lee el resultado: el número de nodos que coinciden con su tipo y contenido, o el número, la cadena o el booleano que devuelve la expresión.

    Guía rápida de XPath (cheat sheet)

    ExpresiónSelecciona
    /catalogEl elemento raíz catalog
    //productTodos los elementos product, a cualquier profundidad
    /catalog/product/nameEl name de cada producto, paso a paso desde la raíz
    //product/@idEl atributo id de cada producto
    //product[@category='books']Los productos cuyo atributo category es books
    //product[price > 20]Los productos con un precio superior a 20, comparado como número
    //product[contains(name, 'USB')]Los productos cuyo nombre contiene “USB” (distingue mayúsculas y minúsculas)
    //product[not(tags)]Los productos sin un hijo tags
    (//product)[1]El primer producto del documento
    //product[1]El primer producto dentro de cada elemento padre
    //product[last()]El último producto dentro de cada elemento padre
    //name/text()Los nodos de texto dentro de name
    //price/..El elemento padre de cada price
    //*[local-name()='product']Los elementos product de cualquier espacio de nombres
    count(//product)El número de productos
    sum(//price)La suma de todos los precios
    string(//product[1]/name)El nombre del primer producto como cadena

    Espacios de nombres en XPath

    XPath 1.0 no tiene espacio de nombres predeterminado. En un documento con xmlns="…", como un sitemap o una factura NF-e, //url no encuentra nada, porque los elementos pertenecen a ese espacio de nombres. Por eso el tester asigna el espacio de nombres predeterminado al prefijo x: (o d: si x ya está en uso), de modo que //x:url/x:loc funciona. Los prefijos declarados en el documento, como cfdi: en una factura CFDI, se pueden usar tal cual. En herramientas sin configuración de espacios de nombres, //*[local-name()='url'] funciona en todas partes.

    Preguntas frecuentes

    ¿Qué versión de XPath admite el tester?

    XPath 1.0, la versión integrada en todos los navegadores y en la mayoría de las bibliotecas XML. Las funciones de XPath 2.0 y posteriores, como matches(), lower-case() o string-join(), no están disponibles.

    ¿Por qué mi XPath no devuelve nada?

    Las causas más comunes son un espacio de nombres predeterminado (usa el prefijo x: que aparece debajo de los ejemplos), las diferencias de mayúsculas y minúsculas (XPath las distingue) y las posiciones, que empiezan en 1, no en 0.

    ¿Cuántos resultados se muestran?

    Se cuentan todas las coincidencias, y las primeras 500 se enumeran con su tipo de nodo y contenido.

    ¿Se sube mi XML a un servidor?

    No. El XML se analiza y se consulta en tu navegador. Solo una URL que cargues se descarga a través de nuestro servidor.