sacar regulares recorrer herramienta expresiones ejemplos consultas con como armar html xml xpath

html - regulares - Prueba de nodos text() frente a valores de cadena en XPath



xpath expresiones regulares (1)

XPath text() = es diferente de XPath . = . =

(Los nodos de texto coincidentes son diferentes a los valores de cadena coincidentes)

Los siguientes XPaths no son lo mismo ...

  1. //span[text() = ''Office Hours'']

    Dice :

    Seleccione los elementos de span que tienen un nodo de texto secundario inmediato igual a ''Horario de oficina''.

  2. //span[. = ''Office Hours'']

    Dice :

    Seleccione los elementos de span cuyo valor de cadena es igual a ''Horario de oficina'' .

En resumen, para los nodos de elementos :

El valor de cadena de un nodo de elemento es la concatenación de los valores de cadena de todos los descendants de nodo de texto del nodo de elemento en orden de documento.

Ejemplos

Los siguientes elementos span solo el n. ° 1 :

  • <span class="portal-text-medium">Office Hours<br/>8:00-10:00</span>
  • <span class="portal-text-medium">My<br/>Office Hours</span>

Los siguientes elementos span solo coincidirían con el n. ° 2 :

  • <span class="portal-text-medium"><b>Office</b> Hours</span>
  • <span class="portal-text-medium"><b><i>Office Hours</i></b></span>

El siguiente elemento span coincidiría con el n. ° 1 y el n. ° 2 :

  • <span class="portal-text-medium">Office Hours</span>

Tengo un nodo de la siguiente manera:

<span class="portal-text-medium">Office Hours</span>

Para el XPath yo uso

//span[text()=''Office Hours'']

que debería funcionar, pero nunca funciona. Puedo usar *contains(text(),''Office Hours'')]* pero eso no encontrará una coincidencia exacta y tengo que verificar que no haya "*". Esta no es la única vez que no me ha funcionado. Lo he visto funcionar antes, así que no sé qué está mal. ¿Alguna idea?

Sí, puedo, y uso, starts-with pero no es lo mismo.