Buscar..


Sintaxis

  1. Todos los ancestros de un nodo.
    • / ruta al nodo / ancestor :: node ()
  2. Un ancestro específico de un nodo.
    • / ruta al nodo / ancestor :: ancestor_name
  3. Padre de un nodo
    • / ruta al nodo / padre :: nodo ()
  4. Siguiendo a los hermanos de un nodo
    • / ruta al nodo / following-sibling :: node ()
  5. Un hermano específico que sigue un nodo.
    • / ruta al nodo / following-sibling :: sibling_name
  6. Hermanos anteriores de un nodo
    • / ruta al nodo / preced-sibling :: node ()
  7. Un hermano específico que precede a un nodo.
    • / ruta al nodo / preced-sibling :: sibling_name
  8. Todos los nodos hijos inmediatos de un nodo.
    • / ruta al nodo / child :: node ()
  9. Un nodo secundario inmediato específico de un nodo
    • / ruta al nodo / child :: chid_name
  10. Todos los descendientes de un nodo.
    • / ruta al nodo / descendant :: node ()
  11. Todos los descendientes específicos de un nodo.
    • / ruta al nodo / descendant :: descendant_name

Parámetros

Eje selecciona
antepasado todos los nodos ancestros
padre nodo padre
siguiente hermano hermanos siguiendo el nodo
hermano precedente hermanos que preceden al nodo
niño niños inmediatos
descendiente Todo el descendiente independientemente del nivel de anidación.

Observaciones

Estos ejes se pueden utilizar en combinación con otras funciones para satisfacer nuestras necesidades.

Encontrar mis ancestros

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
    <Dad name="Goku" gender="male" spouse="Chi Chi">
        <Me name="Gohan" gender="male"/>
        <brother name="Goten" gender="male"/>
    </Dad>
</GrandFather>

XPATH

//Me/ancestor::node()

SALIDA

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>
<Dad name="Goku" gender="male" spouse="Chi Chi">
  <Me name="Gohan" gender="male" />
  <brother name="Goten" gender="male" />
</Dad>

Encontrar a mi padre

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
    <Dad name="Goku" gender="male" spouse="Chi Chi">
        <Me name="Gohan" gender="male"/>
        <brother name="Goten" gender="male"/>
    </Dad>
</GrandFather>

XPATH

//Me/ancestor::Dad

o

//Me/parent::node()

SALIDA

<Dad name="Goku" gender="male" spouse="Chi Chi">
  <Me name="Gohan" gender="male" />
  <brother name="Goten" gender="male" />
</Dad>

Encuentra a mi abuelo

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>

XPATH

//Me/ancestor::GrandFather

o

//Me/parent::node()/parent::node()

SALIDA

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>

Encontrar a mi hermano

XML

<GrandFather name="Bardock" gender="male" spouse="Gine">
  <Dad name="Goku" gender="male" spouse="Chi Chi">
    <brother name="Goten" gender="male" />
    <Me name="Gohan" gender="male" />
    <brother name="Goten" gender="male" />
  </Dad>
</GrandFather>

XPATH

//Me/following-sibling::brother

SALIDA

<brother name="Goten" gender="male" />

Consigue todos los avatares antes de Parashurama.

XML

<Dashavatar>
    <Avatar name="Matsya"/>
    <Avatar name="Kurma"/>
    <Avatar name="Varaha"/>
    <Avatar name="Narasimha"/>
    <Avatar name="Vamana"/>
    <Avatar name="Balabhadra"/>
    <Avatar name="Parashurama"/>
    <Avatar name="Rama"/>
    <Avatar name="Krishna"/>
    <Avatar name="Kalki"/>
</Dashavatar>

XPATH

//Avatar[@name='Parashurama']/preceding-sibling::node()

SALIDA

<Avatar name="Matsya"/>
<Avatar name="Kurma"/>
<Avatar name="Varaha"/>
<Avatar name="Narasimha"/>
<Avatar name="Vamana"/>
<Avatar name="Balabhadra"/>

Consigue todos los avatares después de Parashurama.

XML

<Dashavatar>
    <Avatar name="Matsya"/>
    <Avatar name="Kurma"/>
    <Avatar name="Varaha"/>
    <Avatar name="Narasimha"/>
    <Avatar name="Vamana"/>
    <Avatar name="Balabhadra"/>
    <Avatar name="Parashurama"/>
    <Avatar name="Rama"/>
    <Avatar name="Krishna"/>
    <Avatar name="Kalki"/>
</Dashavatar>

XPATH

//Avatar[@name='Parashurama']/following-sibling::node()

SALIDA

<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />

Consigue todos los avatares excepto el actual (Parusharama)

XML

<Dashavatar>
    <Avatar name="Matsya"/>
    <Avatar name="Kurma"/>
    <Avatar name="Varaha"/>
    <Avatar name="Narasimha"/>
    <Avatar name="Vamana"/>
    <Avatar name="Balabhadra"/>
    <Avatar name="Parashurama"/>
    <Avatar name="Rama"/>
    <Avatar name="Krishna"/>
    <Avatar name="Kalki"/>
</Dashavatar>

XPATH

//Avatar[@name='Parashurama']/following-sibling::Avatar | //Avatar[@name='Parashurama']/preceding-sibling::Avatar

SALIDA

<Avatar name="Matsya" />
<Avatar name="Kurma" />
<Avatar name="Varaha" />
<Avatar name="Narasimha" />
<Avatar name="Vamana" />
<Avatar name="Balabhadra" />
<Avatar name="Rama" />
<Avatar name="Krishna" />
<Avatar name="Kalki" />

Consigue todos los detalles (nodos hijos) de la casa.

XML

<House>
    <Rooms>10</Rooms>
    <People>4</People>
    <TVs>4</TVs>
    <Floors>2</Floors>
</House>

XPATH

/House/child::node()

SALIDA

<Rooms>10</Rooms>
<People>4</People>
<TVs>4</TVs>
<Floors>2</Floors>

Obtener todas las habitaciones (niños inmediatos nombradas habitación) en casa

XML

<House>
    <numRooms>4</numRooms>
    <Room name="living"/>
    <Room name="master bedroom"/>
    <Room name="kids' bedroom"/>
    <Room name="kitchen"/>
</House>

XPATH

/House/child::Room

o

/House/*[local-name()='Room']

SALIDA

<Room name="living" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />
<Room name="kitchen" />

Obtener todas las habitaciones (independientemente de la posición) en casa

XML

<House>
    <numRooms>4</numRooms>
    <Floor number="1">
        <Room name="living"/>
        <Room name="kitchen"/>
    </Floor>
    <Floor number="2">
        <Room name="master bedroom"/>
        <Room name="kids' bedroom"/>    
    </Floor>
</House>

XPATH

/House/descendant::Room

SALIDA

<Room name="living" />
<Room name="kitchen" />
<Room name="master bedroom" />
<Room name="kids' bedroom" />


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow