Γραμματοσειρά XPath
- 上一页 Κόμβοι XPath
- 下一页 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 του στοιχείου book στο στοιχείο 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 | 选取属于 bookstore 元素的 book 元素的所有 title 元素,以及文档中所有的 price 元素。 |
- 上一页 Κόμβοι XPath
- 下一页 XPath 轴