XML DOM XPathResult όντα

Το αποτέλεσμα της ερώτησης XPath.

Το αντικείμενο XPathResult

Το αντικείμενο XPathResult αντιπροσωπεύει την τιμή μιας έκφρασης XPath. Οι αντικείμενα αυτού του τύπου από Document.evaluate() Και XPathExpression.evaluate() Επιστροφή. Η ερώτηση XPath μπορεί να υπολογιστεί ως字符串, αριθμός, βολική τιμή, κόμβος και λίστα κόμβων. Η υλοποίηση XPath μπορεί να επιστρέψει τη λίστα των κόμβων με διάφορους τρόπους, οπότε ο αντικείμενος αυτός ορίζεται με μια πιο σύνθετη API για την απόκτηση του πραγματικού αποτελέσματος μιας ερώτησης XPath.

Για να χρησιμοποιήσετε ένα XPathResult, ελέγξτε την ιδιότητα resultType. Αυτή η ιδιότητα θα αποθηκεύσει μια σταθερά XPathResult. Η τιμή αυτής της ιδιότητας σας λέει ποια ιδιότητες και μεθόδους πρέπει να χρησιμοποιήσετε για να καθορίσετε την τιμή του αποτελέσματος. Η κλήση μιας μεθόδου που δεν είναι καθορισμένη για το τρέχον resultType ή η ανάγνωση μιας ιδιότητας που δεν είναι καθορισμένη για αυτόν τον resultType θα προκαλέσει εξαίρεση.

Το IE δεν υποστηρίζει το API XPathResult. Για να εκτελέσετε ερωτήσεις XPath στο IE, ανατρέξτε στο: Node.selectNodes() Και Node.selectSingleNode() .

Σταθερές του αντικειμένου XPathResult

Ακολουθεί η σταθερά που καθορίζει τον τύπο που μπορεί να επιστρέψει μια ερώτηση XPath. Η ιδιότητα resultType του αντικειμένου XPathResult διατηρεί μια από αυτές τις τιμές, η οποία χρησιμοποιείται για να καθορίσει ποιο αποτέλεσμα διατηρεί το αντικείμενο. Αυτές οι σταθερές χρησιμοποιούνται με Document.evaluate() και XPathExpression.evaluate() για να καθορίσουν τον τύπο του αναμενόμενου αποτελέσματος.

Ακολουθούν τα κείμενα των σταθερών και η σημασία τους:

ANY_TYPE
Παρέχετε αυτόν τον τιμή στον Document.evaluate() ή XPathExpression.evaluate() για να καθορίσετε τον τύπο του αποδεκτού αποτελέσματος. Η ιδιότητα resultType δεν ρυθμίζει αυτήν την τιμή.
NUMBER_TYPE
Η numbervalue αποθηκεύει το αποτέλεσμα.
STRING_TYPE
Η stringvalue αποθηκεύει το αποτέλεσμα.
BOOLEAN_TYPE
Η booleanValue αποθηκεύει το αποτέλεσμα.
UNORDERED_NODE_ITERATOR_TYPE
Το αποτέλεσμα είναι μια αταξιευμένη συλλογή κόμβων, που μπορεί να προσπελαθεί σε σειρά με την επαναλαμβανόμενη κλήση της μεθόδου iterateNext() μέχρι να επιστραφεί null. Κατά τη διάρκεια αυτής της αναζήτησης, το έγγραφο πρέπει να μην τροποποιηθεί.
ORDERED_NODE_ITERATOR_TYPE
Το αποτέλεσμα είναι μια λίστα κόμβων, τακτοποιημένων κατά την τάξη των ιδιοτήτων του εγγράφου, και μπορεί να προσπελαθεί σε σειρά με την επαναλαμβανόμενη κλήση της μεθόδου iterateNext() μέχρι να επιστραφεί null. Κατά τη διάρκεια αυτής της αναζήτησης, το έγγραφο πρέπει να μην τροποποιηθεί.
Το αποτέλεσμα είναι μια λίστα με κεντρικούς κόμβους που μπορεί να προσπελαθεί τυχαία. Η ιδιότητα snapshotLength καθορίζει την μήκος της λίστας και η μέθοδος snapshotItem() επιστρέφει τον κόμβο στο καθορισμένο δείκτη. Οι κόμβοι μπορεί να μην είναι στο ίδιο σειρά με την παρουσία τους στο έγγραφο. Επειδή το αποτέλεσμα είναι ένα
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 multiple nodes 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 a property 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
What kind of result is returned by the XPath query. 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
Αποθηκεύει την τιμή του αποτελέσματος όταν το resultType είναι STRING_TYPE.

Μέθοδοι του αντικειμένου XPathResult

Μέθοδος Περιγραφή
iterateNext() Αν το resultType είναι UNORDERED_NODE_ITERATOR_TYPE ή ORDERED_NODE_ITERATOR_TYPE, χρησιμοποιήστε αυτή τη μέθοδο.
snapshotItem() Επιστρέφει το όντα στοιχείου της λίστας αποτελεσμάτων που αντιστοιχεί στον καθορισμένο δείκτη. Αυτή η μέθοδος μπορεί να χρησιμοποιηθεί μόνο όταν το resultType είναι UNORDERED_NODE_SNAPSHOT_TYPE ή ORDERED_NODE_SNAPSHOT_TYPE. Η ιδιότητα snapshotLength χρησιμοποιείται μαζί με αυτή τη μέθοδο.

Σχετικές σελίδες

Document.evaluate() Και XPathExpression.evaluate()