xml - online - ¿Qué es xpath para seleccionar un rango de nodos?
la expresión se debe evaluar como un conjunto de nodos (3)
¿No es fn:subsequence
la mejor manera?
subsequence( /foo/bar, 100, 101 )
devuelve todos los elementos de la posición 100 a la 200, es decir, 101 elementos (o menos si la secuencia fuente es más corta).
Hola, tengo un archivo XML que está estructurado así:
<foo>
<bar></bar>
<bar></bar>
...
</foo>
No sé cómo agarrar un rango de nodos. podría alguien darme un ejemplo de una expresión xpath que agarra los nodos de barras 100-200.
Uso :
/*/bar[position() >= 100 and not(position() > 200)]
Nota :
Se seleccionan exactamente los elementos de
bar
en la posición 100 a 200 (inclusive).La evaluación de estas expresiones XPath puede ser mucho más rápida que una expresión con la abreviatura
//
, porque esta última causa un escaneo completo del árbol cuya raíz es el nodo contextual. Siempre trate de evitar usar la//
abreviatura en los casos en que esto sea posible.
//foo/bar[100 <= position() and position() < 200]