2008-09-05 14 views

Respuesta

34

Do algo como:

//*[ends-with(name(), 'fu')] 

Para obtener una buena referencia de XPath, consulte W3Schools tutorial.

+4

Esta es una solución XPath 2.0 solamente. –

+0

tenga en cuenta que puede usar 'local-name()' para omitir espacios de nombres en XML complejo – LostNomad311

42

Esta respuesta es para XPath 1.0 donde no hay un equivalente de XPath 2.0 standard ends-with() function.

La siguiente expresión XPath 1.0 selecciona todos los elementos del documento XML, cuyos nombres terminan con el "fu" cadena:

//*[substring(name(),string-length(name())-1) = 'fu'] 
0

tuve problemas con la respuesta de Dimitre Novatchev, no volvería partidos. Sabía que su XPath debe tener una sección que diga que "fu" tiene longitud 2.

Se recomienda tener una longitud de cadena ('fu') para determinar qué subcadena.

Para aquellos que no son capaces de obtener resultados con su respuesta y que requieren solución con XPath 1.0:

//*[substring(name(), string-length(name()) - string-length('fu') +1) = 'fu']

encuentra coincidencias de elementos que terminan con "fu"

o

//*[substring(name(), string-length(name()) - string-length('Position') +1) = 'Position']

encuentra coincidencias a los elementos que terminan con "Posición"

Cuestiones relacionadas