Objek XPathResult DOM XML

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

Document.evaluate() dan XPathExpression.evaluate()