respuesta Paso a paso.
Para seleccionar elementos con un ancestro div[@id='content-area']
, que son las segundas childs de sus respectivos padres utilizan:
//div[@id='content-area']//div[2]
Para seleccionar segundos (en orden documento) div
elemento con un uso div[@id='content-area']
antepasado:
(//div[@id='content-area']//div)[2]
Anota la diferencia.
Luego, para seleccionar elementos, que son segundo niño de sus respectivos padres, siempre que tengan una clase '-galería-elemento multimedia' uso:
//div[@id='content-area']//div[2][@class='media-gallery-item']
Para seleccionar elementos, que son el segundo de aquellos del niño (de sus respectivos padres) que tienen una clase media-gallery-item
:
//div[@id='content-area']//div[@class='media-gallery-item'][2]
Para seleccionar segundos (en el orden del documento) div
elemento con un ancestro div[@id='content-area']
, siempre que tenga media-gallery-item
clase:
(//div[@id='content-area']//div)[2][@class='media-gallery-item']
Para seleccionar segundos (en el orden del documento) de todo div
elemento con un ancestro div[@id='content-area']
y una clase media-gallery-item
:
(//div[@id='content-area']//div)[@class='media-gallery-item'][2]
Spec cita según lo sugerido por @Alejandro:
Un predicado filtra un conjunto de nodos con con respecto a un eje para producir un nuevo conjunto de nodos.Para cada nodo en el conjunto de nodos a filtrar, la PredicateExpr se evalúa con que nodo como nodo de contexto, con el número de nodos en el conjunto de nodos como el tamaño contexto , y con la posición de proximidad del nodo en el conjunto de nodos con respecto al eje como la posición contexto
http://w3.org/TR/xpath/#predicates
la posición de proximidad de un miembro de un conjunto de nodos con respecto a un eje es definido como la posición del nodo en el conjunto de nodos ordenado en el documento pedido si el eje es un eje hacia adelante y ordenado en orden de documento inverso si el eje es un revés eje
http://w3.org/TR/xpath/#dt-proximity-position
el fondo es que el predicado posición trabaja con respecto al eje. Y necesita paréntesis para declarar explícitamente la prioridad. Por lo tanto, no es el eje child
, pero se considerará el conjunto de nodos después de resolver el eje descendant-or-self
al calcular la posición.
Sólo el primer duplicado encontró [¿Cómo se seleccionan los últimos N elementos con XPath?] (Http://stackoverflow.com/questions/458596/how-do-i-select-the- last-n-elements-with-xpath) –
Eso no es un duplicado. Quiero una posición específica y combinarla con otro predicado. La otra publicación quiere los últimos n elementos (ningún otro predicado, posición no exacta) –