Pengenalan kepada Sintaks XPath dan Ungkapan Biasa
XPath (XML Path Language) ialah bahasa pertanyaan yang digunakan untuk memilih nod daripada dokumen XML atau HTML. Dengan menggunakan struktur laluan yang serupa dengan sistem fail, anda boleh menavigasi elemen, atribut dan teks dalam dokumen dengan tepat.
Beberapa ungkapan XPath yang biasa digunakan termasuk:
//book/title– Memilih semua elemen<title>yang merupakan anak kepada elemen<book>, tanpa mengira kedudukan<book>dalam dokumen.//a/@href– Memilih atributhrefdaripada semua elemen pautan<a>.//item– Memilih semua elemen<item>dalam dokumen.
Alat Penguji XPath membolehkan anda memasukkan dokumen XML atau HTML sehingga 500,000 aksara dan menguji ungkapan XPath sehingga 4,000 aksara untuk melihat hasil padanan secara langsung.
Memahami Struktur Dokumen XML dan HTML untuk Sasaran XPath
Untuk menulis ungkapan XPath yang berkesan, anda perlu memahami struktur hierarki dokumen XML dan HTML. Dokumen-dokumen ini terdiri daripada nod elemen, nod atribut, dan nod teks.
Apabila anda memasukkan dokumen ke dalam Penguji XPath, alat ini akan menganalisis struktur tersebut berdasarkan mod yang dipilih. Untuk setiap nod yang sepadan dengan ungkapan anda, alat ini akan memaparkan maklumat terperinci berikut:
- Jenis (Type): Menunjukkan jenis nod yang ditemui (seperti elemen atau atribut).
- Nama (Name): Nama bagi nod tersebut.
- Laluan (Path): Laluan penuh ke nod tersebut dalam dokumen.
- Pratinjau (Preview): Paparan ringkas nilai kandungan nod tersebut.
Anda juga boleh menyalin nilai bagi setiap keputusan individu secara berasingan menggunakan butang "Salin keputusan".
Perbezaan Antara Mod XML dan Mod HTML
Penilaian XPath boleh berbeza bergantung pada format dokumen anda. Penguji XPath menyediakan pilihan "Jenis input" untuk menentukan mod penilaian:
| Ciri | Mod XML (XML mode) |
Mod HTML (HTML mode) |
|---|---|---|
| Peraturan Ruang Nama | Mematuhi peraturan ruang nama (namespace) XML secara ketat. | Mengabaikan sekatan ruang nama yang ketat. |
| Toleransi Ralat | Memerlukan dokumen XML yang sah untuk dianalisis. | Lebih bertolak ansur terhadap struktur tag. |
| Kemudahan Laluan | Memerlukan laluan tepat mengikut pengisytiharan dokumen. | Membolehkan laluan mudah seperti //a untuk memadankan tag biasa. |
Jika dokumen yang dimasukkan tidak dapat difahami oleh penganalisis mengikut mod yang dipilih, mesej ralat "Tidak dapat menganalisis dokumen ini." akan dipaparkan.
Peranan Ruang Nama (Namespaces) dalam XML
Ruang nama dalam XML digunakan untuk mengelakkan konflik nama elemen. Apabila menguji dokumen XML yang mengandungi ruang nama, peraturan berikut diguna pakai:
- Awalan ruang nama yang diisytiharkan dalam XML anda boleh digunakan dalam XPath, seperti
//x:item. - Untuk ruang nama lalai dalam XML, ungkapan seperti
//itemjuga akan mengikut pengisytiharan dokumen yang ditetapkan.
Kegagalan untuk mengendalikan ruang nama dengan betul boleh menyebabkan ungkapan XPath tidak menemui sebarang hasil, yang akan memaparkan mesej "Tiada keputusan.".
Strategi Menulis Ungkapan XPath yang Cekap
Ungkapan XPath yang terlalu luas atau dokumen yang terlalu besar boleh membebankan proses penilaian. Untuk memastikan halaman kekal responsif, Penguji XPath mengehadkan masa penilaian kepada 2 saat. Jika had ini dilampaui, alat akan menghentikan larian dan memaparkan mesej: "XPath ini mengambil masa terlalu lama untuk dijalankan. Kecilkan ungkapan atau gunakan sampel yang lebih kecil.".
Berikut adalah beberapa strategi untuk mengelakkan masalah tamat masa (timeout):
- Kecilkan skop carian: Elakkan penggunaan
//*atau//secara berlebihan pada dokumen yang besar jika anda boleh menentukan laluan yang lebih spesifik seperti/library/book/title. - Hadkan saiz dokumen: Pastikan dokumen input tidak melebihi had maksimum 500,000 aksara. Jika dokumen terlalu besar, mesej "Dokumen ini terlalu besar untuk diuji di sini. Cuba sampel yang lebih kecil." akan dipaparkan.
- Sederhanakan ungkapan: Pastikan ungkapan XPath anda tidak melebihi 4,000 aksara. Jika melebihi had ini, mesej "Ungkapan XPath ini terlalu panjang untuk diuji di sini." akan muncul.
Menyahralat Ungkapan XPath dan Had Alat
Apabila membina ungkapan XPath untuk pengekstrakan data atau migrasi, anda mungkin menghadapi beberapa ralat penilaian. Penguji XPath membantu anda mengenal pasti ralat ini melalui mesej maklum balas yang spesifik:
- "Ungkapan XPath ini tidak sah.": Ditunjukkan apabila sintaks XPath yang anda masukkan mempunyai kesilapan struktur.
- "Tidak dapat menilai XPath ini.": Ditunjukkan apabila ungkapan XPath tidak dapat dinilai terhadap dokumen yang diberikan.
- "Memaparkan
{max}yang pertama.": Jika hasil carian melebihi 200 padanan, alat ini hanya akan memaparkan 200 keputusan pertama untuk mengekalkan prestasi.
Sila ambil perhatian bahawa alat pengujian berasaskan penyemak imbas ini mempunyai had tertentu. Alat ini tidak mewakili struktur masa nyata, DOM yang dirender, atau permintaan rangkaian bagi halaman web dalam talian yang aktif. Ia hanya menilai teks statik XML atau HTML yang anda tampalkan ke dalam kotak input.
Privasi dan Pemprosesan Data
Apabila menggunakan Penguji XPath, XML, HTML dan XPath anda diuji dalam penyemak imbas anda. Tiada apa-apa yang dimuat naik ke BroBroGo. Semua proses analisis dan penilaian berlaku secara tempatan pada peranti anda, memastikan data anda tidak dihantar ke mana-mana pelayan luar.
Soalan Lazim (FAQ)
Bolehkah saya menguji XPath pada HTML serta XML?
Ya. Mod XML mengekalkan peraturan ruang nama (namespace) XML. Mod HTML lebih bertolak ansur dan membolehkan laluan mudah seperti //a sepadan dengan tag biasa.
Bagaimanakah ruang nama XML berfungsi?
Awalan ruang nama yang diisytiharkan dalam XML anda boleh digunakan dalam XPath, seperti //x:item. Untuk ruang nama lalai, //item juga mengikut pengisytiharan dokumen.
Mengapakah pertanyaan boleh tamat masa?
Dokumen yang sangat besar atau ungkapan yang luas boleh mengambil masa yang lama untuk dinilai. Alat ini menghentikan larian selepas 2 saat supaya halaman kekal responsif; kecilkan laluan atau cuba sampel yang lebih kecil.
Apakah had saiz input untuk dokumen dan ungkapan XPath?
Dokumen XML atau HTML yang dimasukkan mempunyai had saiz maksimum 500,000 aksara. Manakala untuk ungkapan XPath, had panjang maksimum yang dibenarkan ialah 4,000 aksara.