Obiekt XPathResult DOM XML
- Poprzednia strona DOM XPathExpression
- Następna strona DOM XSLTProcessor
Wynik wyszukiwania XPath.
Obiekt XPathResult
Obiekt XPathResult reprezentuje wartość wyrażenia XPath. Obiekty tego typu są tworzonymi przez Document.evaluate() i XPathExpression.evaluate() Wróć. Wyszukiwanie XPath można obliczyć jako ciąg znaków, liczbę, wartość logiczną, węzeł oraz listę węzłów. Wyszukiwanie XPath może zwracać listę węzłów na różne sposoby, więc ten obiekt definiuje bardziej złożony API, aby uzyskać rzeczywiste wyniki zapytania XPath.
Aby użyć XPathResult, najpierw sprawdź atrybut resultType. Zawiera on stałą XPathResult. Wartość tego atrybutu mówi, które atrybuty i metody należy użyć do określenia wartości wyniku. Wywołanie metody lub odczytanie atrybutu, które nie są zdefiniowane dla bieżącego resultType, spowoduje wyjątek.
IE nie obsługuje API XPathResult. Aby wykonać zapytanie XPath w IE, zobacz: Node.selectNodes() i Node.selectSingleNode() .
Stałe obiektu XPathResult
Te stałe definiują typy, które może zwrócić zapytanie XPath. Atrybut resultType obiektu XPathResult przechowuje jedną z tych wartości, aby określić, jakiego wyniku oczekuje obiekt. Te stałe są używane razem z Document.evaluate() i XPathExpression.evaluate(), aby określić oczekiwany typ wyniku.
Te stałe i ich znaczenia są następujące:
- ANY_TYPE
- Przekazuj tę wartość do Document.evaluate() lub XPathExpression.evaluate(), aby określić akceptowalny typ wyniku. Atrybut resultType nie ustawia tej wartości.
- NUMBER_TYPE
- numbervalue przechowuje wynik.
- STRING_TYPE
- stringvalue przechowuje wynik.
- BOOLEAN_TYPE
- booleanValue przechowuje wynik.
- UNORDERED_NODE_ITERATOR_TYPE
- Wynik to niesporządkowana kolekcja węzłów, które można odwiedzać, powtarzając wywołanie iterateNext() do momentu zwrócenia null. W trakcie tej iteracji dokument nie może być modyfikowany.
- ORDERED_NODE_ITERATOR_TYPE
- Wynik to lista węzłów, uporządkowanych według atrybutów dokumentu. Można odwiedzać kolejne węzły, powtarzając wywołanie iterateNext() do momentu zwrócenia null. W trakcie tej iteracji dokument nie może być modyfikowany.
- UNORDERED_NODE_SNAPSHOT_TYPE
- Wynik to lista węzłów do losowego dostępu. Atrybut snapshotLength określa długość listy, a metoda snapshotItem() zwraca węzeł o określonym indeksie. Węzły mogą nie być uporządkowane w porządku, w którym pojawiają się w dokumencie. Jako że wynik jest 'rzutem', jest on ważny nawet jeśli dokument się zmienia.
- ORDERED_NODE_SNAPSHOT_TYPE
- Ten wynik jest listą węzłów do losowego dostępu, podobnie jak UNORDERED_NODE_SNAPSHOT_TYPE, ale lista jest uporządkowana według kolejności w dokumencie.
- ANY_UNORDERED_NODE_TYPE
- singleNodeValue odnosi się do węzła, który pasuje do zapytania, w przeciwnym razie null. Jeśli więcej niż jeden węzeł pasuje do zapytania, singleNodeValue może być dowolnym z pasujących węzłów.
- FIRST_ORDERED_NODE_TYPE
- singleNodeValue zapisuje pierwszy węzeł w dokumencie, który pasuje do zapytania, w przeciwnym razie null. Jeśli nie ma pasujących węzłów, zwraca null.
Właściwości instancji obiektu XPathResult
Wiele właściwości jest dostępnych tylko wtedy, gdy resultType zapisuje określoną wartość. Dostęp do właściwości niezdefiniowanych dla bieżącego resultType spowoduje wyjątek.
- booleanValue
- Kiedy resultType wynosi BOOLEAN_TYPE, zapisuje wartość wynikową.
- invalidIteratorState
- Jeśli resultType jest jedną z wartości stałych ITERATOR_TYPE i dokument został zmodyfikowany, wynosi true; sprawia to, że iteracja jest nieważna, ponieważ wynik został już zwrócony.
- numberValue
- Kiedy resultType wynosi NUMBER_TYPE, zapisuje wartość wynikową.
- resultType
- Który wynik zwraca zapytanie XPath. Jego wartość jest jednym z wymienionych powyżej stałych. Wartość tej właściwości mówi, które inne właściwości i metody można użyć.
- singleNodeValue
- Kiedy resultType wynosi XPathResult.ANY_UNORDERED_NODE_TYPE lub XPathResult.FIRST_UNORDERED_NODE_TYPE, zapisuje wartość wynikową.
- snapshotLength
- Kiedy resultType wynosi UNORDERED_NODE_SNAPSHOT_TYPE lub ORDERED_NODE_ITERATOR_TYPE, określa liczbę zwracanych węzłów. Współdziała z właściwością snapshotItem().
- stringValue
- Zapisuje wartość wyniku, gdy resultType wynosi STRING_TYPE.
Metody obiektu XPathResult
Metoda | Opis |
---|---|
iterateNext() | Jeśli resultType jest UNORDERED_NODE_ITERATOR_TYPE lub ORDERED_NODE_ITERATOR_TYPE, użyj tej metody. |
snapshotItem() | Zwraca węzeł określony przez indeks w liście wyników. Ta metoda może być używana tylko wtedy, gdy resultType jest UNORDERED_NODE_SNAPSHOT_TYPE lub ORDERED_NODE_SNAPSHOT_TYPE. Współpracuje z właściwością snapshotLength. |
Strony związane
- Poprzednia strona DOM XPathExpression
- Następna strona DOM XSLTProcessor