XML DOM XPathResult nesnesi
- Önceki sayfa DOM XPathExpression
- Sonraki sayfa DOM XSLTProcessor
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
- Önceki sayfa DOM XPathExpression
- Sonraki sayfa DOM XSLTProcessor