Objek XPathResult DOM XML
- Hal Sebelumnya DOM XPathExpression
- Hal Berikutnya DOM XSLTProcessor
Hasil query XPath.
Objek XPathResult
Objek XPathResult merepresentasikan nilai ekspresi XPath. Tipe objek ini disediakan oleh Document.evaluate() dan XPathExpression.evaluate() Kembali. Query XPath dapat dihitung sebagai string, angka, nilai boolean, node, dan daftar node. Implementasi XPath dapat mengembalikan daftar node dengan beberapa cara yang berbeda, sehingga objek ini didefinisikan dengan API yang lebih kompleks untuk mendapatkan hasil yang sebenarnya dari query XPath.
Untuk menggunakan XPathResult, periksa properti resultType. Ini akan menyimpan konstanta XPathResult. Nilai properti ini akan memberitahu Anda tentang properti dan metode yang harus digunakan untuk menentukan nilai hasil. Pemanggilan metode yang tidak ditentukan untuk resultType saat ini atau membaca properti yang tidak ditentukan untuk itu akan menyebabkan eksepsi.
IE tidak mendukung API XPathResult. Untuk melaksanakan query XPath di IE, lihat Node.selectNodes() dan Node.selectSingleNode() .
Konstanta objek XPathResult
Konstanta ini mendefinisikan jenis hasil yang dapat dikembalikan oleh query XPath. Properti resultType objek XPathResult menyimpan salah satu nilai ini, untuk menentukan objek menyangkut jenis mana hasil. Konstanta ini digunakan bersama Document.evaluate() dan XPathExpression.evaluate() untuk menentukan jenis hasil yang diharapkan.
Konstanta ini dan maknanya seperti berikut:
- ANY_TYPE
- Layangkan nilai ini ke Document.evaluate() atau XPathExpression.evaluate() untuk menentukan jenis hasil yang diterima. Properti resultType tidak menetapkan nilai ini.
- NUMBER_TYPE
- numbervalue menyimpan hasil.
- STRING_TYPE
- stringvalue menyimpan hasil.
- BOOLEAN_TYPE
- booleanValue menyimpan hasil.
- UNORDERED_NODE_ITERATOR_TYPE
- Hasil ini adalah kumpulan node tak berurut, dapat diakses secara berurutan dengan pemanggilan iterateNext() secara berulang hingga kembalikan null. Pada proses iterasi ini, dokumen harus tidak diubah.
- ORDERED_NODE_ITERATOR_TYPE
- Hasilnya adalah daftar node, diurutkan menurut atribut dokumen, dapat diakses secara berurutan dengan pemanggilan iterateNext() secara berulang hingga kembalikan null. Pada proses iterasi ini, dokumen harus tidak diubah.
- UNORDERED_NODE_SNAPSHOT_TYPE
- Hasilnya adalah daftar node akses acak. Properti snapshotLength menentukan panjang daftar, dan metode snapshotItem() mengembalikan node indeks yang ditentukan. Node mungkin berbeda dengan urutan munculnya di dokumen. Sejak hasil ini adalah 'snapshop', jadi meskipun dokumen berubah, itu masih berlaku.
- ORDERED_NODE_SNAPSHOT_TYPE
- Hasil ini adalah daftar node akses acak, seperti UNORDERED_NODE_SNAPSHOT_TYPE, tetapi daftar ini diurutkan menurut urutan di dokumen.
- ANY_UNORDERED_NODE_TYPE
- Properti singleNodeValue merujuk ke node yang cocok dengan query, jika tidak ada node yang cocok, maka nilai ini adalah null. Jika ada beberapa node yang cocok dengan query, singleNodeValue mungkin adalah salah satu node yang cocok.
- FIRST_ORDERED_NODE_TYPE
- singleNodeValue menyimpan node pertama yang cocok dengan query di dokumen, jika tidak ada node yang cocok, maka nilai ini adalah null.
Properti instansi XPathResult
Banyak properti di sini hanya berlaku saat resultType menyimpan nilai khusus. Menyambung ke properti yang tidak didefinisikan untuk resultType saat ini akan menyebabkan eksepsi.
- booleanValue
- Ketika resultType adalah BOOLEAN_TYPE, simpan nilai hasil.
- invalidIteratorState
- Jika resultType adalah konstanta ITERATOR_TYPE dan dokumen telah diubah, maka nilai ini adalah true; ini akan membuat iterator tidak berlaku karena hasil sudah dikembalikan.
- numberValue
- Ketika resultType adalah NUMBER_TYPE, simpan nilai hasil.
- resultType
- gunakan XPath untuk mengecek jenis hasil yang akan dikembalikan. Nilainya adalah salah satu konstanta yang terdaftar di atas. Nilai properti ini menginformasikan properti dan metode lain yang dapat digunakan.
- singleNodeValue
- Ketika resultType adalah XPathResult.ANY_UNORDERED_NODE_TYPE atau XPathResult.FIRST_UNORDERED_NODE_TYPE, simpan nilai hasil.
- snapshotLength
- Ketika resultType adalah UNORDERED_NODE_SNAPSHOT_TYPE atau ORDERED_NODE_ITERATOR_TYPE, tentukan jumlah node yang dikembalikan. Gunakan properti ini bersamaan dengan snapshotItem().
- stringValue
- Saat resultType adalah STRING_TYPE, simpan nilai hasil.
Metode Objek XPathResult
Metode | Deskripsi |
---|---|
iterateNext() | Jika resultType adalah UNORDERED_NODE_ITERATOR_TYPE atau ORDERED_NODE_ITERATOR_TYPE, gunakan metode ini. |
snapshotItem() | Kembalikan node yang ditentukan di daftar node hasil. Metode ini hanya dapat digunakan ketika resultType adalah UNORDERED_NODE_SNAPSHOT_TYPE atau ORDERED_NODE_SNAPSHOT_TYPE. Gunakan properti snapshotLength bersama dengan metode ini. |
Hal Berhubungan
- Hal Sebelumnya DOM XPathExpression
- Hal Berikutnya DOM XSLTProcessor