Γραμματική XPath
- Προηγούμενη Σελίδα Γραμμή XPath
- Επόμενη Σελίδα Αξέχαστοι Αξέχαστοι (Axes) XPath
Η XPath χρησιμοποιεί έκφραση διαδρομής για να επιλέξει κόμβους ή σύνολο κόμβων σε ένα έγγραφο XML. Οι κόμβοι επιλέγονται ακολουθώντας μια διαδρομή (path) ή βήμα (steps).
Παράδειγμα εγγράφου XML
Θα χρησιμοποιήσουμε αυτό το έγγραφο XML στα παραδείγματα που ακολουθούν.
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book> <title lang="eng">Harry Potter</title> <price>29.99</price> </book> <book> <title lang="eng">Learning XML</title> <price>39.95</price> </book> </bookstore>
Επιλογή κόμβων
Η XPath χρησιμοποιεί έκφραση διαδρομής για να επιλέξει κόμβους σε ένα έγγραφο XML. Οι κόμβοι επιλέγονται ακολουθώντας μια διαδρομή ή βήμα.
Κατωτέρω αναφέρονται οι πιο χρήσιμες εκφράσεις οδού:
Έκφραση | Περιγραφή |
---|---|
nodename | Επιλέξτε όλους τους υποκείμενους κόμβους αυτού του κόμβου. |
/ | Επιλέξτε από τον ρίζα. |
// | Επιλέξτε κόμβους από το έγγραφο που ταιριάζουν στη επιλογή, ανεξάρτητα από τη θέση τους. |
. | Επιλέξτε τον τρέχοντα κόμβο. |
.. | Επιλέξτε τον γονικό κόμβο του τρέχοντος κόμβου. |
@ | Επιλέξτε ιδιότητες. |
Παράδειγμα
Στην παρακάτω τύχη, αναφέρονται μερικές εκφράσεις οδού και τα αποτελέσματα των εκφράσεων:
Αφηγηματική Έκφραση | Εκτέλεση |
---|---|
bookstore | Επιλέξτε όλους τους υποκείμενους κόμβους του στοιχείου bookstore. |
/bookstore |
Επιλέξτε το ρίζα στοιχείο bookstore. Σημείωση: Αν η οδός ξεκινά με τον τελεστικό χαρακτήρα (/), τότε αυτή η οδός αντιπροσωπεύει πάντα το αμερικανικό δρόμο για ένα στοιχείο! |
bookstore/book | Επιλέξτε όλα τα στοιχεία book που είναι υποστοιχεία του στοιχείου bookstore. |
//book | Επιλέξτε όλα τα στοιχεία book που είναι υποστοιχεία, ανεξάρτητα από τη θέση τους στο έγγραφο. |
bookstore//book | Επιλέξτε όλα τα στοιχεία book που ανήκουν στο στοιχείο bookstore, ανεξάρτητα από τη θέση τους κάτω από το bookstore. |
//@lang | Επιλέξτε όλες τις ιδιότητες με όνομα lang. |
Προτάγματα (Predicates)
Οι προτάγματα χρησιμοποιούνται για να βρουν συγκεκριμένα κόμβους ή κόμβους που περιέχουν συγκεκριμένες τιμές.
Οι προτάγματα βρίσκονται εντός παρενθέσεων.
Παράδειγμα
Στην παρακάτω τύχη, αναφέρονται μερικές εκφράσεις οδού με προτάγματα και τα αποτελέσματα των εκφράσεων:
Αφηγηματική Έκφραση | Εκτέλεση |
---|---|
/bookstore/book[1] | Επιλέξτε το πρώτο στοιχείο book που ανήκει στο στοιχείο bookstore. |
/bookstore/book[last()] | Επιλέξτε το τελευταίο στοιχείο book που ανήκει στο στοιχείο bookstore. |
/bookstore/book[last()-1] | Επιλέξτε το δεύτερο τελευταίο στοιχείο book που ανήκει στο στοιχείο bookstore. |
/bookstore/book[position()<3] | Επιλέξτε τα δύο πρώτα στοιχεία book που ανήκουν στο στοιχείο bookstore. |
//title[@lang] | Επιλέξτε όλα τα στοιχεία title που έχουν την ιδιότητα lang. |
//title[@lang='eng'] | Επιλέξτε όλα τα στοιχεία title που έχουν την ιδιότητα lang με τιμή eng. |
/bookstore/book[price>35.00] | Επιλέξτε όλα τα στοιχεία book που ανήκουν στο στοιχείο bookstore και τα στοιχεία price που έχουν τιμή μεγαλύτερη από 35.00. |
/bookstore/book[price>35.00]/title | Επιλέξτε όλα τα στοιχεία title του στοιχείου bookstore που έχουν στοιχείο price με τιμή μεγαλύτερη από 35.00. |
Επιλογή άγνωστων κόμβων
Οι αντικαταστάσεις XPath μπορούν να χρησιμοποιηθούν για να επιλέξουν άγνωστα στοιχεία XML.
Αντικατάσταση | Περιγραφή |
---|---|
* | Συγκρίσιμο με οποιοδήποτε στοιχείο κόμβου. |
@* | Συγκρίσιμο με οποιοδήποτε κόμβο ιδιοτήτων. |
node() | Συγκρίσιμο με οποιοδήποτε τύπο κόμβου. |
Παράδειγμα
Στην παρακάτω τύχη, καταγράφουμε μερικές αφηγηματικές εκφράσεις και τα αποτελέσματα αυτών των εκφράσεων:
Αφηγηματική Έκφραση | Εκτέλεση |
---|---|
/bookstore/* | Επιλέξτε όλα τα υποστοιχεία του στοιχείου bookstore. |
//* | Επιλέξτε όλα τα στοιχεία στο έγγραφο. |
//title[@*] | Επιλέξτε όλα τα στοιχεία title που έχουν ιδιότητες. |
Επιλογή πολλαπλών διαδρομών
Με τη χρήση του οπτικού συμβόλου "|" στο αφηγηματικό τύπο, μπορείτε να επιλέξετε πολλαπλές διαδρομές.
Παράδειγμα
Στην παρακάτω τύχη, καταγράφουμε μερικές αφηγηματικές εκφράσεις και τα αποτελέσματα αυτών των εκφράσεων:
Αφηγηματική Έκφραση | Εκτέλεση |
---|---|
//book/title | //book/price | Επιλέξτε όλα τα στοιχεία title και price στο στοιχείο book. |
//title | //price | Επιλέξτε όλα τα στοιχεία title και price στο έγγραφο. |
/bookstore/book/title | //price | Επιλέξτε όλα τα στοιχεία title που ανήκουν στο στοιχείο bookstore και όλα τα στοιχεία price στο έγγραφο. |
- Προηγούμενη Σελίδα Γραμμή XPath
- Επόμενη Σελίδα Αξέχαστοι Αξέχαστοι (Axes) XPath