XML DOM XPathResult objekt

Resultatet av en XPath-foresök.

XPathResult-objekt

XPathResult-objektet representerar värdet för en XPath-uttryck. Objekt av denna typ skapas av Document.evaluate() och XPathExpression.evaluate() Återvänd. XPath-foresök kan beräknas som sträng, nummer, booleskt värde, nod och en lista över noder. XPath-implementeringen kan returnera en lista över noder på flera olika sätt, därför har detta objekt definierats med en något mer komplex API för att få ett faktiskt resultat av en XPath-foresök.

För att använda ett XPathResult, kontrollera först egenskapen resultType. Den kommer att spara en XPathResult-konstant. Värdet på denna egenskap talar för sig själv om vilken egenskap och metod som behöver användas för att bestämma resultatvärdet. Anrop av metoder eller läsning av egenskaper som inte är definierade för den aktuella resultType kommer att orsaka undantag.

IE stöder inte XPathResult API. För att köra XPath-sökningar i IE, se Node.selectNodes() och Node.selectSingleNode() .

Konstanter för XPathResult-objektet

Följande konstant definierar den typ av typ som en XPath-sökning kan returnera. Egenskapen resultType på XPathResult-objektet sparar en av dessa värden, för att specificera vilken typ av resultat objektet ska spara. Dessa konstanter används tillsammans med Document.evaluate() och XPathExpression.evaluate() för att specificera den förväntade resultattypen.

Dessa konstanter och deras betydelser är följande:

ANY_TYPE
Lägg till värdet till Document.evaluate() eller XPathExpression.evaluate() för att specificera det accepterade resultattypen. Egenskapen resultType ställer inte in detta värde.
NUMBER_TYPE
numbervalue sparar resultatet.
STRING_TYPE
stringvalue sparar resultatet.
BOOLEAN_TYPE
booleanValue sparar resultatet.
UNORDERED_NODE_ITERATOR_TYPE
Detta resultat är en oordnad samling noder som kan besökas i följd genom att upprepa anropet iterateNext() tills null returneras. Under denna iteration måste dokumentet inte ändras.
ORDERED_NODE_ITERATOR_TYPE
Resultatet är en lista med noder, ordnade efter egenskaper i dokumentet, och kan besökas i följd genom att upprepa anropet iterateNext() tills null returneras. Under denna iteration måste dokumentet inte ändras.
UNORDERED_NODE_SNAPSHOT_TYPE
Resultatet är en lista med tillgångspunkter. Egenskapen snapshotLength specificerar listans längd, och metoden snapshotItem() returnerar noden vid den specificerade indext. Noder kan inte nödvändigtvis vara i samma ordning som de uppstår i dokumentet. Eftersom detta resultat är en "snapshott", är det fortfarande giltigt även om dokumentet förändras.
ORDERED_NODE_SNAPSHOT_TYPE
Detta resultat är en lista med tillgångsbara noder, precis som UNORDERED_NODE_SNAPSHOT_TYPE, men listan är ordnad enligt dokumentets ordning.
ANY_UNORDERED_NODE_TYPE
singleNodeValue egenskapen refererar till en nod som matchar frågan, om det inte finns några matchande noder är det null. Om det finns flera noder som matchar frågan kan singleNodeValue vara vilken som helst av de matchande noderna.
FIRST_ORDERED_NODE_TYPE
singleNodeValue sparar den första noden i dokumentet som matchar frågan, om det inte finns några matchande noder är det null.

XPathResult-objektets instansegenskaper

Många av dessa egenskaper är endast giltiga när resultType har ett specifikt värde. Åtkomst till egenskaper som inte är definierade för den aktuella resultType kommer att orsaka ett undantag.

booleanValue
När resultType är BOOLEAN_TYPE, spara resultatvärdet.
invalidIteratorState
Om resultType är en konstant i ITERATOR_TYPE och dokumentet har ändrats, är det true; det gör iterationen ogiltig eftersom resultatet redan har returnerats.
numberValue
När resultType är NUMBER_TYPE, spara resultatvärdet.
resultType
Använd XPath för att fråga vad för typ av resultat som returneras. Värdet är en av de konstanter som listas ovan. Detta egenskaps värde talar om vilka andra egenskaper och metoder du kan använda.
singleNodeValue
När resultType är XPathResult.ANY_UNORDERED_NODE_TYPE eller XPathResult.FIRST_UNORDERED_NODE_TYPE, spara resultatvärdet.
snapshotLength
När resultType är UNORDERED_NODE_SNAPSHOT_TYPE eller ORDERED_NODE_ITERATOR_TYPE, specificera det antal noder som returneras. Använd detta egenskap tillsammans med snapshotItem().
stringValue
När resultType är STRING_TYPE, spara resultatvärdet.

Metoder för XPathResult-objekt

Metod Beskrivning
iterateNext() Om resultType är UNORDERED_NODE_ITERATOR_TYPE eller ORDERED_NODE_ITERATOR_TYPE, använd denna metod.
snapshotItem() Returnera noden i listan av resultatnoder med den specificerade index. Denna metod kan endast användas när resultType är UNORDERED_NODE_SNAPSHOT_TYPE eller ORDERED_NODE_SNAPSHOT_TYPE. snapshotLength-attributet används tillsammans med denna metod.

Relaterade sidor

Document.evaluate() och XPathExpression.evaluate()