Objek XPathResult DOM XML

Hasil query XPath.

Objek XPathResult

Objek XPathResult mewakili nilai ekspresi XPath. Jenis objek ini diproduksi oleh Document.evaluate() dan XPathExpression.evaluate() Kembali. Query XPath boleh dihitung sebagai string, nombor, boolean, node dan senarai node. Implementasi XPath boleh mengembalikan senarai node dalam beberapa cara berbeza, oleh itu, objek ini telah didefinisikan API yang sedikit kompleks untuk mendapatkan hasil sebenar daripada query XPath.

Untuk menggunakan XPathResult, periksa properti resultType. Ia akan menyimpan konstanta XPathResult. Nilai properti ini akan memberitahu Anda tentang properti dan method yang harus digunakan untuk menentukan nilai hasil. Pemanggilan method yang bukan untuk resultType saat ini atau membaca properti yang bukan untuknya akan menyebabkan eksepsi.

IE tidak mendukung API XPathResult. Untuk menjalankan query XPath di IE, lihat Node.selectNodes() dan Node.selectSingleNode() .

Konstanta-konstanta objek XPathResult

Konstanta ini mendefinisikan jenis jenis yang mungkin dapat dikembalikan oleh sebuah query XPath. Properti resultType objek XPathResult menyimpan salah satu nilai ini, untuk menentukan jenis objek yang menyimpan hasil. Konstanta ini digunakan bersama Document.evaluate() dan XPathExpression.evaluate() untuk menentukan jenis hasil yang diharapkan.

Konstanta ini dan maknanya seperti berikut:

ANY_TYPE
Lengkapkan nilai ini ke Document.evaluate() atau XPathExpression.evaluate() untuk menentukan jenis hasil yang dapat 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 nod tak berurut, yang dapat diakses secara berurutan dengan mengulangi panggilan iterateNext() hingga kembalikan null. Dalam proses iterasi ini, dokumen harus tidak diubah.
ORDERED_NODE_ITERATOR_TYPE
Hasil adalah senarai nod, diurutkan menurut atribut dalam dokumen, dan dapat diakses secara berurutan dengan mengulangi panggilan iterateNext() hingga kembalikan null. Dalam proses iterasi ini, dokumen harus tidak diubah.
UNORDERED_NODE_SNAPSHOT_TYPE
Hasil adalah senarai nod yang dapat diakses secara acak. Properti snapshotLength menentukan panjang senarai, dan method snapshotItem() mengembalikan nod yang ditentukan indeks. Nod mungkin berbeda dengan urutan munculnya dalam dokumen. Sejak hasil ini adalah 'snapshots', jadi walaupun dokumen berubah, ia masih berlaku.
ORDERED_NODE_SNAPSHOT_TYPE
Hasil ini adalah daftar node akses acak, seperti UNORDERED_NODE_SNAPSHOT_TYPE, tetapi daftar ini diurutkan menurut urutan dalam dokumen.
ANY_UNORDERED_NODE_TYPE
Properti singleNodeValue merujuk kepada node yang cocok dengan pencarian, jika tidak ada node yang cocok, maka null. Jika ada beberapa node yang cocok dengan pencarian, singleNodeValue dapat menjadi node mana pun yang cocok.
FIRST_ORDERED_NODE_TYPE
singleNodeValue menyimpan node pertama dalam dokumen yang cocok dengan pencarian, jika tidak ada node yang cocok, maka null.

Properti instansi objek XPathResult

Banyak properti di sini hanya berlaku saat resultType menyimpan nilai khusus. Akses properti yang tidak disertai dalam resultType saat ini akan mengakibatkan eksepsi.

booleanValue
Simpan nilai hasil bila resultType adalah BOOLEAN_TYPE.
invalidIteratorState
Jika resultType adalah konstanta ITERATOR_TYPE dan dokumen telah diubah, maka bernilai true; ini membuat iterator tak berlaku karena hasil sudah dihasilkan.
numberValue
Simpan nilai hasil bila resultType adalah NUMBER_TYPE.
resultType
gunakan XPath untuk mengecek jenis hasil yang dihasilkan. Nilai ini adalah salah satu konstanta yang di daftar sebelumnya. Nilai properti ini memberitahu Anda tentang properti dan metode lain yang dapat digunakan.
singleNodeValue
Simpan nilai hasil bila resultType adalah XPathResult.ANY_UNORDERED_NODE_TYPE atau XPathResult.FIRST_UNORDERED_NODE_TYPE.
snapshotLength
Bila resultType adalah UNORDERED_NODE_SNAPSHOT_TYPE atau ORDERED_NODE_ITERATOR_TYPE, tentukan jumlah node yang dihasilkan. Gunakan properti ini bersamaan dengan snapshotItem().
stringValue
Jika resultType adalah STRING_TYPE, simpan nilai hasil.

Metode Objek XPathResult

Metode Penerangan
iterateNext() Jika resultType adalah UNORDERED_NODE_ITERATOR_TYPE atau ORDERED_NODE_ITERATOR_TYPE, gunakan metode ini.
snapshotItem() Kembalikan hujan yang dikehendaki daripada senarai hujan yang dihasilkan. Metode ini hanya boleh digunakan apabila resultType adalah UNORDERED_NODE_SNAPSHOT_TYPE atau ORDERED_NODE_SNAPSHOT_TYPE. Properti snapshotLength digunakan bersama-sama dengan metode ini.

Laman Berkenaan

Document.evaluate() dan XPathExpression.evaluate()