XML DOM XPathResult object

Het resultaat van de XPath-query.

Het XPathResult-object

Het XPathResult-object vertegenwoordigt de waarde van een XPath-expressie. Dit type object wordt gecreëerd door Document.evaluate() en XPathExpression.evaluate() Terug. XPath-query's kunnen gerekend worden als string, nummer, boolean, knoop en lijst van knopen. De XPath-implementatie kan de lijst van knopen op verschillende manieren retourneren, dus deze object definieert een iets complexere API om het echte resultaat van een XPath-query te verkrijgen.

Controleer eerst de eigenschap resultType om een XPathResult te gebruiken. Deze eigenschap bevat een XPathResult-constante. De waarde van deze eigenschap vertelt je welke eigenschappen en methoden je moet gebruiken om de waarde van het resultaat te bepalen. Het aanroepen van methoden die niet zijn gedefinieerd voor het huidige resultType of het lezen van eigenschappen die niet zijn gedefinieerd voor dit resultType kan een uitzondering veroorzaken.

IE ondersteunt niet de XPathResult API. Voor het uitvoeren van XPath-query's in IE, raadpleeg Node.selectNodes() en Node.selectSingleNode() .

Constanten van het XPathResult-object

Deze constanten definiëren het type dat een XPath-query mogelijk kan retourneren. De eigenschap resultType van het XPathResult-object bevat een van deze waarden en specificeert welk type het object opslaat. Deze constanten worden samen met Document.evaluate() en XPathExpression.evaluate() gebruikt om het verwachte resultaattype te specificeren.

Deze constanten en hun betekenis zijn als volgt:

ANY_TYPE
Geef deze waarde door aan Document.evaluate() of XPathExpression.evaluate() om het aanvaardbare resultaattype te specificeren. De eigenschap resultType stelt deze waarde niet in.
NUMBER_TYPE
numbervalue bewaart het resultaat.
STRING_TYPE
stringvalue bewaart het resultaat.
BOOLEAN_TYPE
booleanValue bewaart het resultaat.
UNORDERED_NODE_ITERATOR_TYPE
Dit resultaat is een ongesorteerde verzameling knopen, die kan worden doorlopen door herhaaldelijk de methode iterateNext() aan te roepen totdat null wordt geretourneerd. Gedurende deze iteratie moet het document niet worden gewijzigd.
ORDERED_NODE_ITERATOR_TYPE
Het resultaat is een lijst van knopen, gesorteerd volgens de eigenschappen in het document. Door herhaaldelijk de methode iterateNext() aan te roepen, kan de lijst in volgorde worden doorlopen totdat null wordt geretourneerd. Gedurende deze iteratie moet het document niet worden gewijzigd.
UNORDERED_NODE_SNAPSHOT_TYPE
Het resultaat is een lijst van willekeurig toegankelijke knopen. De eigenschap snapshotLength specificeert de lengte van de lijst, en de methode snapshotItem() retourneert de knoop op de opgegeven index. De knopen kunnen een andere volgorde hebben dan waarin ze in het document voorkomen. Aangezien dit resultaat een 'snapshot' is, blijft het geldig zelfs als het document verandert.
ORDERED_NODE_SNAPSHOT_TYPE
This result is a randomly accessible node list, like UNORDERED_NODE_SNAPSHOT_TYPE, but the list is ordered according to the order in the document.
ANY_UNORDERED_NODE_TYPE
The singleNodeValue property refers to a node that matches the query, or null if no matching node is found. If there are multiple nodes that match the query, singleNodeValue may be any of the matching nodes.
FIRST_ORDERED_NODE_TYPE
singleNodeValue saves the first node in the document that matches the query, or null if no matching node is found.

Instance properties of the XPathResult object

Many of the properties here are only valid when a specific value is saved in resultType. Accessing properties not defined for the current resultType will cause an exception.

booleanValue
When the resultType is BOOLEAN_TYPE, save the result value.
invalidIteratorState
If the resultType is one of the ITERATOR_TYPE constants and the document has been modified, then it is true; it makes the iterator invalid because the result has already been returned.
numberValue
When the resultType is NUMBER_TYPE, save the result value.
resultType
Use XPath to query what kind of result is returned. Its value is one of the constants listed earlier. The value of this property tells you which other properties and methods you can use.
singleNodeValue
When the resultType is XPathResult.ANY_UNORDERED_NODE_TYPE or XPathResult.FIRST_UNORDERED_NODE_TYPE, save the result value.
snapshotLength
When the resultType is UNORDERED_NODE_SNAPSHOT_TYPE or ORDERED_NODE_ITERATOR_TYPE, specify the number of nodes to return. This property is used in conjunction with snapshotItem().
stringValue
Wanneer resultType STRING_TYPE is, bewaar de waarde van het resultaat.

Methoden van XPathResult object

Methode Beschrijving
iterateNext() Als resultType UNORDERED_NODE_ITERATOR_TYPE of ORDERED_NODE_ITERATOR_TYPE is, gebruik dan deze methode.
snapshotItem() Retourneert het knopen in de lijst van resultaten die de opgegeven index heeft. Deze methode kan alleen worden gebruikt wanneer resultType UNORDERED_NODE_SNAPSHOT_TYPE of ORDERED_NODE_SNAPSHOT_TYPE is. De snapshotLength-eigenschap wordt samen met deze methode gebruikt.

Gerelateerde pagina's

Document.evaluate() en XPathExpression.evaluate()