xpathEmpezando con xpath


Observaciones

XPath es un lenguaje para direccionar partes de un documento XML.

Se utiliza en XSLT y es un subconjunto de XQuery. Las bibliotecas también están disponibles para la mayoría de los otros lenguajes de programación.

XPath es un estándar internacional con especificaciones publicadas por W3C:

Versiones

Versión Fecha de lanzamiento
1.0 1999-12-16
2.0 2007-01-23
3.0 2014-04-08
3.1 (Recomendación del candidato del W3C) 2015-12-17

Operaciones comunes de HTML

Si la entrada HTML DOM es

<html>
    <body>
        <a>link</a>
        <div class='container' id='divone'>
            <p class='common' id='enclosedone'>Element One</p>
            <p class='common' id='enclosedtwo'>Element Two</p>
        </div>
    </body>
</html>
 

Encuentra un elemento con una identificación específica en toda la página.

//*[@id='divone'] # Returns <div class='container' id='divone'>
 

Encuentra un elemento con una identificación específica en una ruta particular

/html/body/div/p[@id='enclosedone'] # Returns <p class='common' id='enclosedone'>Element One</p>
 

Seleccione un elemento con un id y clase particular

//p[@id='enclosedone' and @class='common'] # Returns <p class='common' id='enclosedone'>Element One</p>
 

Selecciona el texto de un elemento particular.

//*[@id='enclosedone']/text() # Returns Element One
 

Muestra de XML (sin espacios de nombres)

Aquí hay algunos ejemplos de XML contra los que se pueden escribir ejemplos XPaths:

<r>
  <e a="1"/>
  <f a="2" b="1">Text 1</f>
  <f/>
  <g>
    <i c="2">Text 2</i>
    Text 3
    <j>Text 4</j>
  </g>
</r>
 

Selecciona un elemento

Para la muestra XML (sin espacios de nombres):

Este XPath,

/r/e
 

seleccionará este elemento:

<e a="1"/>
 

Seleccionar texto

Para la muestra XML (sin espacios de nombres):

Este XPath,

/r/f/text()
 

seleccionará el nodo de texto con este valor de cadena:

"Text 1"
 

Y este XPath,

string(/r/f)
 

devolverá el valor de cadena de f , que también es:

"Text 1"
 

Probando Xpaths en la consola del navegador

Una forma rápida de probar su xpath es en la consola de herramientas de desarrollo de su navegador.

El formato es

   $x('//insert xpath here')
 

$ - especifica que es un selector.

x - especifica que está utilizando xpaths

Ejemplo:

$x("//button[text() ='Submit']")
 

Cuando se ingrese este comando, se devolverán todas las apariciones de elementos que sean botones con texto igual a Enviar.