Axes (axis) XPath

Dokumen contoh XML

Kami akan menggunakan dokumen XML berikut dalam contoh kami:

<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
  <title lang="eng">Harry Potter</title>
  <price>29.99</price>
</book>
<book>
  <title lang="eng">Learning XML</title>
  <price>39.95</price>
</book>
</bookstore>

Pusat XPath

Pusat boleh ditakrifkan set buah yang berada di sebelah kiri daripada buah semasa.

Nama pusat Hasil
ancestor Pilih semua buah kewujudan buah semasa.
ancestor-or-self Pilih semua buah kewujudan buah semasa serta buah semasa sendiri.
attribute Pilih semua atribut untuk node yang dipilih sekarang.
child Pilih semua anak elemen untuk node yang dipilih sekarang.
descendant Pilih semua buah turun-temurun buah semasa.
descendant-or-self Pilih semua buah turun-temurun buah semasa serta buah semasa sendiri.
following Pilih semua buah sebelum tag tamat buah semasa dalam dokumen.
namespace Pilih semua buah namespace buah semasa.
parent Pilih buah bapa buah semasa.
preceding Pilih semua buah sebelum tag mulai buah semasa dalam dokumen.
preceding-sibling Pilih semua buah yang sama tingkatan sebelum buah semasa.
self Pilih buah semasa.

Ungkapan laluan lokasi

Laluan lokasi boleh jadi absolut atau relatif.

Laluan absolut bermula daripada slash mendatar (/), manakala laluan relatif tidak begitu. Dalam kedua-dua keadaan, laluan lokasi termasuk satu atau lebih langkah, di mana setiap langkah dipisahkan oleh slash:

Jalur posisi absolut:

/step/step/...

Jalur posisi relatif:

step/step/...

Setiap langkah dihitung berdasarkan node dalam set node yang sedang

Langkah (step) termasuk:

Axis (axis)
Mendefinikan hubungan pohon antara node yang dipilih dan node yang sedang
Tes node (node-test)
Mengenali node dalam dalam axis
Nol atau lebih banyak prekate (predicate)
Pururuhkan set node yang dipilih secara mendalam

Grammar langkah:

Nama axis::tes[prekate]

Instansia

Contoh Hasil
child::book Pilih semua node 'book' yang termasuk dalam anak node untuk node yang dipilih sekarang.
attribute::lang Pilih atribut 'lang' untuk node yang dipilih sekarang.
child::* Pilih semua anak elemen untuk node yang dipilih sekarang.
attribute::* Pilih semua atribut untuk node yang dipilih sekarang.
child::text() Pilih semua anak node teks untuk node yang dipilih sekarang.
child::node() Pilih semua anak node untuk node yang dipilih sekarang.
descendant::book Pilih semua turunannya 'book' untuk node yang dipilih sekarang.
ancestor::book Pilih semua leluhur 'book' untuk node yang dipilih sekarang.
ancestor-or-self::book Pilih semua leluhur 'book' untuk node yang dipilih sekarang serta node yang dipilih (jika node ini adalah node 'book')
child::*/child::price Pilih semua node 'price' turunannya untuk node yang dipilih sekarang.