Sintaks dasar XPath
XPath (XML Path Language) adalah bahasa yang digunakan untuk menavigasi melalui elemen dan atribut dalam dokumen XML. XPath memungkinkan Anda untuk mengekspresikan berbagai ekspresi yang dapat digunakan untuk memilih node atau sekumpulan node dalam dokumen.
1. Struktur Dasar XPath
XPath memiliki sintaks dasar yang dirancang untuk menavigasi struktur pohon dokumen XML. Berikut adalah beberapa konsep dasar dan sintaks yang digunakan dalam XPath:
1.1. Mengakses Node
/
(Slash): Digunakan untuk memilih dari root node. Misalnya,/root
akan memilih noderoot
.//
(Double Slash): Digunakan untuk memilih node di mana pun dalam dokumen. Misalnya,//child
akan memilih semua nodechild
di dalam dokumen XML.
1.2. Memilih Node Spesifik
node
: Untuk memilih node dengan nama spesifik. Misalnya,/root/child
akan memilih nodechild
di dalam noderoot
.@attribute
: Untuk memilih atribut dari node. Misalnya,/root/child/@name
akan memilih nilai atributname
dari semua nodechild
di bawahroot
.
2. Penggunaan Predikat
Predikat adalah ekspresi yang digunakan untuk memfilter node yang dipilih. Predikat ditulis dalam kurung siku []
. Contoh penggunaannya:
- Menetapkan indeks:
/root/child[1]
akan memilih nodechild
pertama dariroot
. - Berdasarkan kondisi:
/root/child[@name='example']
akan memilih nodechild
yang memiliki atributname
dengan nilaiexample
.
3. Fungsi XPath
XPath juga mendukung berbagai fungsi yang dapat digunakan di dalam ekspresi. Beberapa fungsi yang umum digunakan adalah:
count()
: Menghitung jumlah node yang dipilih. Contoh:count(/root/child)
menghitung jumlah nodechild
.contains()
: Memeriksa apakah suatu string mengandung substring tertentu. Contoh:/root/child[contains(@name, 'ex')]
memilihchild
yang atributname
-nya mengandung 'ex'.starts-with()
: Memeriksa apakah suatu string dimulai dengan substring tertentu. Contoh:/root/child[starts-with(@name, 'ex')]
.
4. Contoh XPath
Misalkan kita memiliki dokumen XML berikut:
<root>
<child name="example1">Content 1</child>
<child name="example2">Content 2</child>
<child name="test">Content 3</child>
</root>
Berikut adalah beberapa contoh ekspresi XPath untuk memilih node dalam dokumen XML di atas:
- Semua anak di dalam root:
//child
- Anak pertama:
/root/child[1]
- Anak dengan atribut name 'example1':
/root/child[@name='example1']
- Anak dengan nama yang mengandung 'example':
/root/child[contains(@name, 'example')]
Kesimpulan
XPath adalah alat yang sangat kuat untuk menavigasi dan memilih node dalam dokumen XML. Dengan memahami sintaks dasar dan menggunakan predikat serta fungsi, Anda dapat mengekstrak informasi secara efektif dari struktur XML yang kompleks.