XML DOM XPathResult nesnesi

XPath sorgusu sonuçları.

XPathResult nesnesi

XPathResult nesnesi bir XPath ifadesinin değerini temsil eder. Bu tür nesneler Document.evaluate() ve XPathExpression.evaluate() Geri dön. XPath sorguları string, sayı, boolean değer, düğüm ve düğüm listesi olarak hesaplanabilir. XPath implementasyonu düğüm listelerini çeşitli yollarla döndüğünden, bu nesne XPath sorgusunun gerçek sonuçlarını elde etmek için biraz karmaşık bir API tanımlar.

Bir XPathResult kullanmak için önce resultType özelliğini kontrol edin. Bu özellik, bir XPathResult sabitini saklar. Bu özelliğin değeri, hangi özellik ve yöntemlerin kullanılacağını belirler. resultType için tanımlanmamış yöntemleri çağırmak veya tanımlanmamış özellikleri okumak, bir hata oluşturur.

IE, XPathResult API'yi desteklememektedir. IE'de XPath sorgusu yapmak için, Node.selectNodes() ve Node.selectSingleNode() .

XPathResult nesnesinin sabitleri

Aşağıdaki sabitler, bir XPath sorgusunun dönebileceği türleri tanımlar. XPathResult nesnesinin resultType özelliği, bu değerlerden birini saklar ve nesnenin ne tür bir sonuç sakladığını belirtir. Bu sabitler, Document.evaluate() ve XPathExpression.evaluate() ile birlikte kullanılır ve beklenen sonuç türünü belirlemek için kullanılır.

Bu sabitler ve anlamları aşağıdaki gibidir:

ANY_TYPE
Bu değeri Document.evaluate() veya XPathExpression.evaluate() yöntemlerine geçirmek suretiyle kabul edilebilir sonuç türünü belirlemek için kullanın. Özellik resultType, bu değeri ayarlamaz.
NUMBER_TYPE
numbervalue, sonucu saklar.
STRING_TYPE
stringvalue, sonucu saklar.
BOOLEAN_TYPE
booleanValue, sonucu saklar.
UNORDERED_NODE_ITERATOR_TYPE
Bu sonuç, düğümün sırasız kümesidir ve iterateNext() yöntemini tekrar tekrar çağırarak sırasıyla erişilebilir. Bu迭代 sürecinde, belge değiştirilmemelidir.
ORDERED_NODE_ITERATOR_TYPE
Sonuç, belgedeki özelliklere göre sıralanmış düğüm listesidir. iterateNext() yöntemini tekrar tekrar çağırarak sırasıyla erişilebilir. Bu迭代 sürecinde, belge değiştirilmemelidir.
Sonuç, bir rastgele erişimli düğüm listesidir. snapshotLength özelliği, listenin uzunluğunu belirtir ve snapshotItem() yöntemi, belirtilen indeksteki düğümü döndürür. Düğüm, belgedeki görünüm sırasıyla farklı olabilir. Bu sonuç bir
ORDERED_NODE_SNAPSHOT_TYPE
Bu sonuç, UNORDERED_NODE_SNAPSHOT_TYPE gibi rastgele erişimli düğüm listesidir, ancak bu liste belgedeki sıraya göre düzenlenmiştir.
ANY_UNORDERED_NODE_TYPE
singleNodeValue özelliği, sorguyla eşleşen bir düğümü referans alır; eşleşen bir düğüm yoksa null'dır. Birden fazla düğüm sorguyla eşleşiyorsa, singleNodeValue herhangi bir eşleşen düğüm olabilir.
FIRST_ORDERED_NODE_TYPE
singleNodeValue, belgedeki ilk ve sorguyla eşleşen düğümü tutar; eşleşen bir düğüm yoksa null'dır.

XPathResult nesnesinin örnek özellikleri

Buradaki birçok özellik sadece resultType belirli bir değer tuttuğunda geçerlidir. resultType için tanımlanmamış bir özellik ziyaret edilirse bir istisna meydana gelir.

booleanValue
resultType BOOLEAN_TYPE olduğunda, sonuç değerini kaydedin.
invalidIteratorState
resultType ITERATOR_TYPE kalıcılarından biri ise ve belge değiştirilmişse true döner; sonuç döndürülmesi nedeniyle迭代 geçersiz hale gelir.
numberValue
resultType NUMBER_TYPE olduğunda, sonuç değerini kaydedin.
resultType
XPath ile sorgulama sonucunun ne olacağını belirler. Bu değerin önünde sıralanan kalıcılardan biri olur. Bu özelliğin değeri, hangi diğer özellik ve yöntemlerin kullanılabileceğini belirtir.
singleNodeValue
resultType XPathResult.ANY_UNORDERED_NODE_TYPE veya XPathResult.FIRST_UNORDERED_NODE_TYPE olduğunda, sonuç değerini kaydedin.
snapshotLength
resultType UNORDERED_NODE_SNAPSHOT_TYPE veya ORDERED_NODE_ITERATOR_TYPE olduğunda, döndürülen düğüm sayısını belirtin. Bu özellikle snapshotItem() ile birlikte kullanılır.
stringValue
resultType STRING_TYPE olduğunda, sonuç değerini kaydeder.

XPathResult nesnesi yöntemleri

Yöntem Açıklama
iterateNext() resultType UNORDERED_NODE_ITERATOR_TYPE veya ORDERED_NODE_ITERATOR_TYPE olduğunda bu yöntemi kullanın.
snapshotItem() Belirtilen indekse sahip sonuç düğüm listesindeki düğümü döndürür. Bu yöntem yalnızca resultType UNORDERED_NODE_SNAPSHOT_TYPE veya ORDERED_NODE_SNAPSHOT_TYPE olduğunda kullanılabilir. snapshotLength özelliği bu yöntemle birlikte kullanılır.

İlgili sayfalar

Document.evaluate() ve XPathExpression.evaluate()