XPath adalah teknologi yang secara akurat dan efisien menentukan dan mengekstrak informasi yang diperlukan dari data struktur pohon, seperti HTML dan XML.
Ikhtisar XPath
XPath adalah bahasa yang digunakan untuk menentukan dan mengekstrak elemen dan atribut tertentu dalam pohon dokumen XML atau HTML. Karena halaman web sering kali terdiri dari HTML, XPath banyak digunakan dalam berbagai skenario, seperti pengikisan web, pengambilan data, dan pencarian data XML.
Penggunaan umum adalah sebagai berikut:
- Ekstraksi Data di Web Crawler: XPath digunakan untuk secara otomatis mengambil data tertentu, seperti informasi produk di situs web e-niaga atau judul artikel di situs web berita.
- Pencarian dan Pemrosesan Data XML: Dalam sistem bisnis dan pemrosesan tautan data, data sering dipertukarkan dalam format XML. Dengan menggunakan XPath, Anda dapat mengekstrak informasi yang diperlukan secara efisien dari data XML dalam jumlah besar.
- Penguraian Respons API (Format XML): Saat menggunakan API berbasis XML, seperti SOAP, XPath digunakan untuk mengurai data respons. Hal ini memungkinkan Anda untuk dengan cepat mendapatkan kode status dan data hasil tertentu, meningkatkan akurasi integrasi sistem dan pemrosesan otomatis.
Rekomendasi alat
Dalam proses belajar dan menggunakan XPath, alat umum meliputi:
Alat Pengembang Chrome: Alat canggih yang disertakan dengan browser Chrome, Anda dapat memanggilnya dengan menekan tombol F12. Di panel "Elemen", Anda dapat dengan cepat menemukan elemen HTML di halaman web dengan mengarahkan kursor dan mengklik, dan mengklik kanan pada elemen dapat langsung menyalin ekspresi XPath untuk verifikasi dan pengujian yang mudah. Misalnya, saat menganalisis halaman produk e-commerce, Anda dapat menggunakan alat developer Chrome untuk mendapatkan XPath dengan cepat untuk nama produk, harga, dan elemen lainnya. Alat Pengembang Firefox: Juga dilengkapi dengan browser, mirip dengan Alat Pengembang Chrome. Ini juga memungkinkan Anda untuk dengan mudah menemukan elemen di halaman Anda, serta melihat dan menguji ekspresi XPath. Ini adalah pilihan yang baik untuk pengembang yang terbiasa menggunakan browser Firefox. Alat pengujian XPath online: Alat online seperti "XPath Tester" dapat digunakan tanpa instalasi dan dapat digunakan dengan membuka halaman web. Cukup tempel konten dokumen XML atau HTML, masukkan ekspresi XPath, dan lihat hasil kecocokan secara real time. Alat ini sangat cocok untuk pemula untuk memulai dengan cepat dan melakukan latihan XPath sederhana. Plugin XPath Helper: Mengambil Browser Chrome sebagai contoh, setelah menginstal plugin XPath Helper, itu akan menambahkan jendela mengambang ke antarmuka browser saat menjelajahi web, menampilkan jalur XPath dari elemen mouse-over saat ini, dan Anda dapat mengedit dan menguji ekspresi XPath langsung di jendela, sangat meningkatkan efisiensi pengembangan.
Sintaks Abstrak XPath
Pilih simpul
XPath menggunakan ekspresi jalur untuk memilih simpul dalam dokumen XML. Node dipilih dengan mengikuti jalur atau langkah. Ekspresi jalur yang paling berguna tercantum di bawah ini:
Ekspresi | deskripsi | | nama simpul | Memilih semua simpul turunan simpul ini. | | / | Pilih dari simpul akar (ambil simpul turunan). | | // | Memilih simpul dalam dokumen dari simpul saat ini dari pilihan yang cocok, terlepas dari lokasinya (ambil simpul turunan). | | . | Pilih simpul saat ini. | | .. | Pilih simpul induk dari simpul saat ini. | | @ | Pilih atribut. |
Pada tabel di bawah ini, kami telah mencantumkan beberapa ekspresi jalur bersama dengan hasil ekspresi:
Ekspresi jalur | hasil | | toko buku | Pilih semua simpul bernama toko buku. | | /bookstore | Pilih toko buku elemen akar. Catatan: Jika jalur dimulai dengan garis miring maju ( / ), maka jalur ini selalu mewakili jalur absolut ke suatu elemen! | | toko buku/buku | Memilih semua elemen buku yang merupakan elemen turunan toko buku. | | //book | Memilih semua sub-elemen buku, terlepas dari posisinya dalam dokumen. | | toko buku//buku | Pilih semua elemen buku yang merupakan keturunan elemen toko buku, di mana pun mereka berada di bawah toko buku. | | @lang | Pilih semua properti bernama lang. |
Predikat
Predikat digunakan untuk menemukan simpul tertentu atau simpul yang berisi nilai tertentu. Predikat tertanam dalam tanda kurung siku. Dalam tabel di bawah ini, kami mencantumkan beberapa ekspresi jalur dengan predikat, dan hasil ekspresi:
Ekspresi jalur | hasil | | /bookstore/book[1] | Pilih elemen buku pertama yang merupakan bagian dari elemen turunan toko buku. | | /bookstore/book[last()] | Memilih elemen buku terakhir yang merupakan bagian dari subelemen toko buku. | | /bookstore/book[last()-1] | Memilih elemen buku kedua dari belakang yang termasuk dalam elemen turunan toko buku. | | /bookstore/book[position()<3] | Pilih dua elemen buku pertama yang merupakan elemen turunan dari elemen toko buku. | | judul[@lang] | Memilih semua elemen judul yang memiliki properti bernama lang. | | judul[@lang='eng'] | Memilih semua elemen judul yang memiliki atribut lang dengan nilai eng. | | /bookstore/book[price>35.00] | Memilih semua elemen buku dari elemen toko buku, dan nilai elemen harga harus lebih besar dari 35,00. | | /bookstore/book[price>35.00]//title | Memilih semua elemen judul elemen buku di elemen toko buku, dan nilai elemen harga harus lebih besar dari 35,00. |
Pilih simpul yang tidak dikenal
Wildcard XPath dapat digunakan untuk mengambil elemen XML yang tidak dikenal.
Karakter pengganti | deskripsi | | * | Cocok dengan simpul elemen apa pun. | | @* | Cocok dengan simpul atribut apa pun. | | simpul () | Cocok dengan semua jenis node. |
Dalam tabel di bawah ini, kami mencantumkan beberapa ekspresi jalur, dan hasil dari ekspresi ini:
Ekspresi jalur | hasil | | /bookstore/* | Memilih semua elemen turunan dari elemen toko buku. | | //* | Memilih semua elemen dalam dokumen. | | judul[@*] | Memilih semua elemen judul dengan atribut. |
Pilih sejumlah jalur
Dengan menggunakan "|" dalam ekspresi jalur operator, Anda dapat memilih beberapa jalur.
Dalam tabel di bawah ini, kami mencantumkan beberapa ekspresi jalur, dan hasil dari ekspresi ini:
Ekspresi jalur | hasil | | //book/title | //book/price | Memilih semua elemen judul dan harga elemen buku. | | judul | harga | Pilih semua elemen judul dan harga dalam dokumen. | | /bookstore/book/title | //price | Memilih semua elemen judul elemen buku yang termasuk dalam elemen toko buku, dan semua elemen harga dalam dokumen. |
Fungsi XPath
Berikut ini adalah daftar tambahan khusus XPath yang dikomentari ke XPath oleh fungsi inti XPath dan XSLT, termasuk deskripsi, sintaks, daftar parameter, jenis hasil, dan sumber dalam rekomendasi W3C yang sesuai.
- boolean()
- langit-langit()
- pilih()
- concat()
- berisi()
- hitungan()
- saat ini () XSLT spesifik
- document() khusus XSLT
- elemen-tersedia()
- salah()
- lantai()
- format-number() XSLT khusus
- fungsi-tersedia()
- generate-id() spesifik XSLT
- id()
- kunci () khusus XSLT
- lang()
- terakhir()
- nama-lokal()
- nama()
- ruang nama-uri()
- normalisasi-spasi()
- tidak()
- nomor()
- posisi()
- bulat()
- mulai-dengan()
- string()
- panjang-string()
- substring()
- substring-setelah()
- substring-before()
- jumlah()
- system-property() khusus XSLT
- terjemahkan ()
- benar()
- unparsed-entity-url() khusus XSLT
Tes praktis
Buka Chrome dan dapatkan konten teks dari semua link tab A dengan perintah berikut:
Seperti yang ditunjukkan di bawah ini:
Referensi:Login hyperlink terlihat. |