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 |