Παράδειγμα XPath
- Προηγούμενη Σελίδα Σύμβολα Υπολογισμού XPath
- Επόμενη Σελίδα Συνοπτική Εισαγωγή στην XPath
Σε αυτή την ενότητα, ας μάθουμε με παραδείγματα βασικές γλωσσές XPath.
XML Παράδειγμα Έγγραφο
Θα χρησιμοποιήσουμε αυτό το XML έγγραφο στα παραδείγματα που ακολουθούν:
"books.xml" :
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="Γαστρονομία"> <title lang="el">Κάθε Μέρα Ιταλικά</title> <author>Γιάδα Ντε Λαουρέντις</author> <year>2005</year> <price>30.00</price> </book> <book category="Παιδικά Βιβλία"> <title lang="el">Harry Potter</title> <author>Γιάννης Κ. Ρόουλινγκ</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="WEB"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
Φόρτωση έγγραφου XML
Όλοι οι σύγχρονοι προγραμματιστές υποστηρίζουν τη μέθοδο XMLHttpRequest για να φορτώσουν έγγραφα XML.
Κώδικας για τηνmajority των σύγχρονων προγραμματιστών:
var xmlhttp=new XMLHttpRequest()
Κώδικας για παλιούς προγραμματιστές Microsoft (IE 5 και 6):
var xmlhttp=new ActiveXObject("Microsoft.XMLHTTP")
Επιλέγει κόμβους
Δυστυχώς, ο Internet Explorer και άλλοι χειρίζονται το XPath με διαφορετικό τρόπο.
Στο παράδειγμα μας περιλαμβάνονται κώδικες που είναι κατάλληλοι για τηνmajority των δημοφιλών προγραμματιστών.
O Internet Explorer χρησιμοποιεί τη μέθοδο selectNodes() για να επιλέξει κόμβους από το XML έγγραφο:
xmlDoc.selectNodes(xpath);
Firefox, Chrome, Opera και Safari χρησιμοποιούν τη μέθοδο evaluate() για να επιλέξουν κόμβους από το XML έγγραφο:
xmlDoc.evaluate(xpath, xmlDoc, null, XPathResult.ANY_TYPE, null);
Επιλέγει όλους τους κόμβους
Η παρακάτω παράδειγμα επιλέγει όλους τους κόμβους του title:
/bookstore/book/title
Επιλογή του κόμβου title του πρώτου book
Το παρακάτω παράδειγμα επιλέγει τον κόμβο title του πρώτου book στο στοιχείο bookstore:
/bookstore/book[1]/title
Εδώ υπάρχει ένα πρόβλημα. Το παρακάτω παράδειγμα παράγει διαφορετικά αποτελέσματα στο IE και σε άλλους προγραμματιστές.
Η έκδοση IE5 και νεότερη θεωρεί [0] ως τον πρώτο κόμβο, ενώ σύμφωνα με τα πρότυπα του W3C θα πρέπει να είναι [1].
Για να λυθεί το πρόβλημα με [0] και [1] στο IE5+, μπορείτε να ρυθμίσετε τη γλώσσα επιλογής (SelectionLanguage) για το XPath.
Το παρακάτω παράδειγμα επιλέγει τον κόμβο title του πρώτου book στο στοιχείο bookstore:
xml.setProperty("SelectionLanguage","XPath"); xml.selectNodes("/bookstore/book[1]/title");
Επιλογή όλων των τιμών price
Το παρακάτω παράδειγμα επιλέγει όλους τους κόμβους text στο κόμβο price:
/bookstore/book/price/text()
Επιλογή των κόμβων price με τιμή price μεγαλύτερη από 35
Το παρακάτω παράδειγμα επιλέγει όλους τους κόμβους price με τιμή price μεγαλύτερη από 35:
/bookstore/book[price>35]/price
Επιλογή των κόμβων title με τιμή price μεγαλύτερη από 35
Το παρακάτω παράδειγμα επιλέγει όλους τους κόμβους title με τιμή price μεγαλύτερη από 35:
/bookstore/book[price>35]/title
- Προηγούμενη Σελίδα Σύμβολα Υπολογισμού XPath
- Επόμενη Σελίδα Συνοπτική Εισαγωγή στην XPath