Contoh 1
Sintaks dasar XPath mirip dengan mencari file dalam sistem file. Jika jalur dimulai dengan garis miring /, maka jalur tersebut mewakili jalur absolut ke suatu elemen.
/AAA
Pilih elemen root AAA
<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
/AAA/CCC
Pilih semua elemen anak CCC AAA
<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
/AAA/DDD/BBB
Memilih semua elemen anak DDD, elemen anak AAA
<AAA>
<BBB/>
<CCC/>
<BBB/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC/>
</AAA>
Contoh 2
Jika jalur dimulai dengan garis miring ganda //, berarti semua elemen dalam dokumen yang memenuhi aturan setelah garis miring ganda // dipilih (terlepas dari hubungan hierarkinya) //BBB
Pilih semua elemen BBB
<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
//DDD/BBB
Pilih semua elemen BBB yang elemen induknya adalah DDD
<AAA>
<BBB/>
<CCC/>
<BBB/>
<DDD>
<BBB/>
</DDD>
<CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
</CCC>
</AAA>
Contoh 3
Tanda bintang* berarti memilih semua elemen yang terletak pada jalur sebelum tanda bintang
/AAA/CCC/DDD/*
Pilih semua elemen dengan jalur yang dilampirkan ke /AAA/CCC/DDD
<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BB>
</BB>
</CCC>
</AAA>
/*/*/*/BBB
Pilih semua elemen BBB yang memiliki 3 elemen leluhur
<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BB>
</BB>
</CCC>
</AAA>
//*
Pilih semua elemen
<AAA>
<XXX>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</XXX>
<CCC>
<DDD>
<BBB/>
<BBB/>
<EEE/>
<FFF/>
</DDD>
</CCC>
<CCC>
<BBB>
<BBB>
<BBB/>
</BB>
</BB>
</CCC>
</AAA>
Contoh 4
mana
angka tersebut mewakili posisi elemen dalam kumpulan pilihan, dan fungsi last() mewakili elemen terakhir dalam kumpulan pemilihan.
Pilih elemen anak BBB pertama dari AAA
<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
/AAA/BBB[terakhir()]
Pilih elemen anak BBB terakhir dari AAA
<AAA>
<BBB/>
<BBB/>
<BBB/>
<BBB/>
</AAA>
Contoh 5
//@pengenal
Pilih semua atribut id
<AAA>
<ID BBB = "b1"/>
<ID BBB = "b2"/>
<Nama BBB = "bbb"/>
<BBB/>
</AAA>
//BBB[@id]
Pilih elemen BBB dengan atribut id
<AAA>
<ID BBB = "b1"/>
<ID BBB = "b2"/>
<Nama BBB = "bbb"/>
<BBB/>
</AAA>
//BBB[@nama]
Pilih elemen BBB dengan atribut nama
<AAA>
<ID BBB = "b1"/>
<ID BBB = "b2"/>
<Nama BBB = "bbb"/>
<BBB/>
</AAA>
//BBB[@*]
Pilih elemen BBB dengan atribut apa pun
<AAA>
<ID BBB = "b1"/>
<ID BBB = "b2"/>
<Nama BBB = "bbb"/>
<BBB/>
</AAA>
//BBB[tidak(@*)]
Pilih elemen BBB tanpa atribut
<AAA>
<ID BBB = "b1"/>
<ID BBB = "b2"/>
<Nama BBB = "bbb"/>
<BBB/>
</AAA>
Contoh 6
Nilai atribut dapat digunakan sebagai kriteria pemilihan. Fungsi normalisasi-spasi menghilangkan spasi di awal dan akhir, dan mengganti string spasi yang berurutan dengan spasi tunggal
//BBB[@id='b1']
Pilih elemen BBB yang berisi atribut id dan nilainya 'b1'
<AAA>
<ID BBB = "b1"/>
<Nama BBB = " bbb "/>
<Nama BBB = "bbb"/>
</AAA>
//BBB[@nama='bbb']
Pilih elemen BBB yang berisi nama atribut dan nilainya 'bbb'
<AAA>
<ID BBB = "b1"/>
<Nama BBB = " bbb "/>
<Nama BBB = "bbb"/>
</AAA>
//BBB[normalisasi-ruang(@nama)='bbb']
Pilih elemen BBB yang berisi nama atribut dan nilainya (setelah menghilangkan spasi awal dan akhir menggunakan fungsi normalisasi-ruang) adalah 'bbb'
<AAA>
<ID BBB = "b1"/>
<Nama BBB = " bbb "/>
<Nama BBB = "bbb"/>
</AAA>
Contoh 7
Fungsi count() dapat menghitung jumlah elemen yang dipilih
//*[count(BBB)=2]
Pilih elemen dengan 2 elemen anak BBB
<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DD/>
</EEE>
</AAA>
//*[hitungan(*)=2]
Pilih elemen dengan 2 anak
<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DDD>
<EEE>
<CCC/>
<DD/>
</EEE>
</AAA>
//*[hitungan(*)=3]
Pilih elemen dengan 3 elemen anak
<AAA>
<CCC>
<BBB/>
<BBB/>
<BBB/>
</CCC>
<DDD>
<BBB/>
<BBB/>
</DD>
<EEE>
<CCC/>
<DD/>
</EEE>
</AAA>
Contoh 8
Fungsi name() mengembalikan nama elemen, fungsi start-with() mengembalikan nilai true ketika string parameter pertama dari fungsi dimulai dengan karakter parameter kedua, dan fungsi berisi() mengembalikan nilai true ketika parameter string pertama mengembalikan benar ketika parameter string kedua disertakan.
//*[nama()='BBB']
Pilih semua elemen bernama BBB (di sini setara dengan //BBB)
<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
//*[dimulai dengan(nama(),'B')]
Pilih semua elemen yang namanya dimulai dengan "B"
<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
//*[berisi(nama(),'C')]
Pilih semua elemen yang namanya mengandung "C"
<AAA>
<BCC>
<BBB/>
<BBB/>
<BBB/>
</BCC>
<DDB>
<BBB/>
<BBB/>
</DDB>
<BEC>
<CCC/>
<DBD/>
</BEC>
</AAA>
Contoh 9
Beberapa jalur dapat digabungkan menggunakan pembatas |.
//CCC |
Pilih semua elemen CCC dan BBB
<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
/AAA/EEE |.//BBB
Pilih semua elemen BBB dan semua elemen EEE yang merupakan turunan dari AAA
<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DDD>
<EEE/>
</AAA>
/AAA/EEE |.//DDD/CCC |
Tidak ada batasan jumlah jalur yang dapat digabungkan
<AAA>
<BBB/>
<CCC/>
<DDD>
<CCC/>
</DD>
<EEE/>
</AAA>
Contoh 10
anak
berisi elemen anak dari simpul konteks. Sebagai sumbu default, ia dapat diabaikan
Setara dengan /anak::AAA
<AAA>
<BBB/>
<CCC/>
</AAA>
/anak::AAA
Setara dengan /AAA
<AAA>
<BBB/>
<CCC/>
</AAA>
/AAA/BBB
Setara dengan /anak::AAA/anak::BBB
<AAA>
<BBB/>
<CCC/>
</AAA>
/anak::AAA/anak::BBB
Setara dengan /AAA/BBB
<AAA>
<BBB/>
<CCC/>
</AAA>
/anak::AAA/BBB
Keduanya bisa digabungkan
<AAA>
<BBB/>
<CCC/>
</AAA>
Contoh 11
Sumbu keturunan berisi keturunan dari simpul konteks. Keturunan mengacu pada simpul anak atau simpul anak dari simpul anak, dll., sehingga sumbu turunan tidak berisi atribut dan simpul namespace
.
Memilih semua keturunan elemen akar dokumen. Artinya, semua elemen dipilih
<AAA>
<BBB>
<DDD>
<CCC>
<DD/>
<EEE/>
</CCC>
</DDD>
</BB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DD>
</EEE>
</DD>
</CCC>
</AAA>
/AAA/BBB/keturunan::*
Memilih semua elemen turunan dari /AAA/BBB
<AAA>
<BBB>
<DDD>
<CCC>
<DD/>
<EEE/>
</CCC>
</DDD>
</BB>
<CCC>
<DDD>
<EEE>
<DDD>
<FFF/>
</DDD>
</EEE>
</DDD>
</CCC>
</AAA>
//CCC/keturunan::*
Pilih semua elemen yang memiliki CCC di antara leluhurnya
<AAA>
<BBB>
<DDD>
<CCC>
<DD/>
<EEE/>
</CCC>
</DD>
</BB>
</AAA>