XML DOM XPathResult objekt

Resultatet af en XPath-forespørgsel.

XPathResult-objektet

XPathResult-objektet repræsenterer værdien af en XPath-udtryk. Dette type objekt dannes af Document.evaluate() og XPathExpression.evaluate() Retur. XPath-forespørgsler kan beregnes som strenge, tal, boolske værdier, noder og en liste over noder. XPath-implementationer kan returnere en liste over noder på flere forskellige måder, så denne objekt har defineret en mere kompleks API til at få den faktiske resultater af en XPath-forespørgsel.

For at bruge en XPathResult, kontroller først resultType-ejenskaben. Denne egenskab gemmer en XPathResult-konstant. Værdien af denne egenskab fortæller dig, hvilke egenskaber og metoder der skal bruges til at bestemme resultatværdien. Kalender af metoder eller læsning af egenskaber, der ikke er defineret til den aktuelle resultType, vil føre til en undtagelse.

IE understøtter ikke XPathResult API. For at udføre XPath-forespørgsler i IE, se Node.selectNodes() og Node.selectSingleNode() .

Konstanter for XPathResult-objektet

Følgende konstanter definerer de typer, en XPath-forespørgsel kan returnere. XPathResult-objektets resultType-ejenskab gemmer en af disse værdier, og bruges til at specificere, hvilken type resultat objektet skal gemme. Disse konstanter bruges sammen med Document.evaluate() og XPathExpression.evaluate() til at specificere den forventede resultattype.

Disse konstanter og deres betydninger er som følger:

ANY_TYPE
Send denne værdi til Document.evaluate() eller XPathExpression.evaluate() for at specificere det acceptable resultattype. Egenskaben resultType sætter ikke denne værdi.
NUMBER_TYPE
numbervalue gemmer resultatet.
STRING_TYPE
stringvalue gemmer resultatet.
BOOLEAN_TYPE
booleanValue gemmer resultatet.
UNORDERED_NODE_ITERATOR_TYPE
Dette resultat er en usorteret samling af noder, som kan gennemgås ved at gentagne gange kalde iterateNext()-metoden, indtil den returnerer null. Under denne iteration skal dokumentet ikke ændres.
ORDERED_NODE_ITERATOR_TYPE
Resultatet er en liste over noder, sorteret efter egenskaberne i dokumentet. Du kan gennemgå listen ved at gentagne gange kalde iterateNext()-metoden, indtil den returnerer null. Under denne iteration skal dokumentet ikke ændres.
UNORDERED_NODE_SNAPSHOT_TYPE
Resultatet er en liste over tilgængelige noder. snapshotLength-ejenskaben specificerer listenens længde, og snapshotItem()-metoden returnerer noden ved den angivne indeks. Noderne kan være i en anden rækkefølge end deres forekomst i dokumentet. Da resultatet er en 'snapshot', er det gyldigt, selvom dokumentet ændres.
ORDERED_NODE_SNAPSHOT_TYPE
Dette resultat er en liste af tilfældigt tilgængelige noder, ligesom UNORDERED_NODE_SNAPSHOT_TYPE, men listen er sorteret efter rækkefølgen i dokumentet.
ANY_UNORDERED_NODE_TYPE
singleNodeValue refererer til en node, der matcher søgningen, eller null, hvis der ikke er nogen matchende node. Hvis der er flere matchende noder, kan singleNodeValue være hvilken som helst af dem.
FIRST_ORDERED_NODE_TYPE
singleNodeValue gemmer den første node i dokumentet, der matcher søgningen, eller null, hvis der ikke er nogen matchende node.

Egenskaber på XPathResult-objektet

Mange af disse egenskaber er kun gyldige, når resultType gemmer en bestemt værdi. Tilgang til egenskaber, der ikke er defineret for den aktuelle resultType, vil forårsage en undtagelse.

booleanValue
Når resultType er BOOLEAN_TYPE, gem resultatværdien.
invalidIteratorState
Hvis resultType er en af konstanterne i ITERATOR_TYPE og dokumentet er blevet ændret, er det true; det gør iteratoren无效, fordi resultaterne allerede er returneret.
numberValue
Når resultType er NUMBER_TYPE, gem resultatværdien.
resultType
Brug XPath til at finde, hvilken slags resultat der returneres. Værdien er en af de nævnte konstanter. Denne egenskabs værdi fortæller, hvilke andre egenskaber og metoder, du kan bruge.
singleNodeValue
Når resultType er XPathResult.ANY_UNORDERED_NODE_TYPE eller XPathResult.FIRST_UNORDERED_NODE_TYPE, gem resultatværdien.
snapshotLength
Når resultType er UNORDERED_NODE_SNAPSHOT_TYPE eller ORDERED_NODE_ITERATOR_TYPE, specificer antallet af tilbagevendende noder. Brug denne egenskab sammen med snapshotItem().
stringValue
Når resultType er STRING_TYPE, gem værdien af resultatet.

Metoder for XPathResult objektet

Metode Beskrivelse
iterateNext() Hvis resultType er UNORDERED_NODE_ITERATOR_TYPE eller ORDERED_NODE_ITERATOR_TYPE, brug denne metode.
snapshotItem() Tilbagevis resultaterne som en liste af noder med specificeret indeks. Denne metode kan kun bruges, når resultType er UNORDERED_NODE_SNAPSHOT_TYPE eller ORDERED_NODE_SNAPSHOT_TYPE. snapshotLength egenskaben bruges sammen med denne metode.

Relaterede sider

Document.evaluate() og XPathExpression.evaluate()