Ultimele tutoriale de dezvoltare web
 

XPath Axe


Exemplu Documentul XML

Vom folosi următorul document XML în exemplele de mai jos.

<?xml version="1.0" encoding="UTF-8"?>

<bookstore>

<book>
  <title lang="en">Harry Potter</title>
  <price>29.99</price>
</book>

<book>
  <title lang="en">Learning XML</title>
  <price>39.95</price>
</book>

</bookstore>

XPath Axe

O axă definește un raport set-nod la nodul curent.

AxisName Rezultat
strămoş Selectează toate strămoșii (parent, grandparent, etc.) al nodului curent
strămoș-sau auto- Selectează toate strămoșii (parent, grandparent, etc.) al nodului curent și nodul curent în sine
atribut Selectează toate atributele nodului curent
copil Selectează toți copiii din nodul curent
descendent Selectează toți descendenții (children, grandchildren, etc.) al nodului curent
descendent-sau auto- Selectează toți descendenții (children, grandchildren, etc.) al nodului curent și nodul curent în sine
ca urmare a Selectează totul în document după eticheta de închidere a nodului curent
ca urmare, frate Selectează toate frații după nodul curent
Spațiu de nume Selectează toate nodurile de spațiu de nume al nodului curent
mamă Selectează părintele nodului curent
precedent Selectează toate nodurile care apar înainte de nodul curent în document, cu excepția strămoși, atribut noduri și nodurile de spațiu de nume
precedent-frate Selectează toate frații înainte de nodul curent
de sine Selectează nodul curent

Locație Expression Calea

O cale de locație poate fi absolută sau relativă.

O cale de locație absolută începe cu o bară oblică ( / ) și o cale de locație relativă nu. În ambele cazuri, calea de localizare constă în una sau mai multe etape, fiecare separate prin slash:

An absolute location path:

/step/step/...

A relative location path:

step/step/...

Fiecare pas este evaluată pe nodurile din actualul nod-set.

Un pas constă din:

  • o axă (defines the tree-relationship between the selected nodes and the current node)
  • un nod-test (identifies a node within an axis)
  • zero sau mai multe predicate (to further refine the selected node-set) in (to further refine the selected node-set)

Sintaxa pentru un pas Locul de amplasare este:

axisname::nodetest[predicate]

Exemple

Exemplu Rezultat
copil :: carte Selectează toate nodurile de carte care sunt copii ale nodului curent
atribut :: lang Selectează lang atribut al nodului curent
copil::* Selectează toți copiii element al nodului curent
atribut::* Selectează toate atributele nodului curent
copil :: text() Selectează toți copiii de nod de text al nodului curent
copil :: node() Selectează toți copiii din nodul curent
descendent :: carte Selectează toate descendenții de carte al nodului curent
strămoș :: carte Selectează toate strămoșii carte de nodul curent
strămoș-sau-auto :: carte Selectează toate strămoșii carte al nodului curent - și curent cât și în cazul în care acesta este un nod carte
copil :: * / copil :: pret Selectează toate nepoții de preț al nodului curent