Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 75|Απάντηση: 0

Χρησιμοποιήστε το XPath για να ανακτήσετε περιεχόμενο εγγράφου XML, HTML

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις3 ημέρες πριν | | | |
Το XPath είναι μια τεχνολογία που καθορίζει και εξάγει με ακρίβεια και αποτελεσματικότητα τις απαιτούμενες πληροφορίες από δεδομένα δομής δέντρου, όπως HTML και XML.

Επισκόπηση XPath

Η XPath είναι μια γλώσσα που χρησιμοποιείται για τον καθορισμό και την εξαγωγή συγκεκριμένων στοιχείων και χαρακτηριστικών σε ένα δέντρο εγγράφων XML ή HTML. Δεδομένου ότι οι ιστοσελίδες αποτελούνται συχνά από HTML, το XPath χρησιμοποιείται ευρέως σε διάφορα σενάρια, όπως η απόξεση ιστού, η ανάκτηση δεδομένων και η αναζήτηση δεδομένων XML.

Η τυπική χρήση είναι η εξής:

  • Εξαγωγή δεδομένων σε προγράμματα ανίχνευσης Ιστού: Το XPath χρησιμοποιείται για την αυτόματη ανάκτηση συγκεκριμένων δεδομένων, όπως πληροφορίες προϊόντων σε ιστότοπους ηλεκτρονικού εμπορίου ή τίτλους άρθρων σε ιστότοπους ειδήσεων.
  • Αναζήτηση και επεξεργασία δεδομένων XML: Στα επιχειρηματικά συστήματα και στην επεξεργασία συνδέσμων δεδομένων, τα δεδομένα ανταλλάσσονται συχνά σε μορφή XML. Χρησιμοποιώντας το XPath, μπορείτε να εξαγάγετε αποτελεσματικά τις απαραίτητες πληροφορίες από μεγάλες ποσότητες δεδομένων XML.
  • Ανάλυση αποκρίσεων API (μορφή XML): Όταν χρησιμοποιείτε API που βασίζονται σε XML, όπως το SOAP, το XPath χρησιμοποιείται για την ανάλυση δεδομένων απόκρισης. Αυτό σας επιτρέπει να λαμβάνετε γρήγορα συγκεκριμένους κωδικούς κατάστασης και δεδομένα αποτελεσμάτων, βελτιώνοντας την ακρίβεια της ενοποίησης του συστήματος και της αυτοματοποιημένης επεξεργασίας.

Σύσταση εργαλείου

Κατά τη διαδικασία εκμάθησης και χρήσης του XPath, τα κοινά εργαλεία περιλαμβάνουν:

Εργαλεία προγραμματιστών Chrome: Ένα ισχυρό εργαλείο που συνοδεύει το πρόγραμμα περιήγησης Chrome, μπορείτε να το καλέσετε πατώντας το πλήκτρο F12. Στον πίνακα "Στοιχεία", μπορείτε να εντοπίσετε γρήγορα στοιχεία HTML σε μια ιστοσελίδα τοποθετώντας το δείκτη του ποντικιού και κάνοντας κλικ και κάνοντας δεξί κλικ σε ένα στοιχείο μπορείτε να αντιγράψετε απευθείας την έκφραση XPath για εύκολη επαλήθευση και δοκιμή. Για παράδειγμα, όταν αναλύετε μια σελίδα προϊόντος ηλεκτρονικού εμπορίου, μπορείτε να χρησιμοποιήσετε τα εργαλεία προγραμματιστών του Chrome για να αποκτήσετε γρήγορα το XPath για ονόματα προϊόντων, τιμές και άλλα στοιχεία.
Firefox Developer Tools: Έρχεται επίσης με το πρόγραμμα περιήγησης, παρόμοιο με το Chrome Developer Tools. Σας επιτρέπει επίσης να εντοπίζετε εύκολα στοιχεία στη σελίδα σας, καθώς και να προβάλλετε και να δοκιμάζετε εκφράσεις XPath. Αυτή είναι μια καλή επιλογή για προγραμματιστές που έχουν συνηθίσει να χρησιμοποιούν το πρόγραμμα περιήγησης Firefox.
Διαδικτυακά εργαλεία δοκιμών XPath: Διαδικτυακά εργαλεία όπως το "XPath Tester" μπορούν να χρησιμοποιηθούν χωρίς εγκατάσταση και μπορούν να χρησιμοποιηθούν ανοίγοντας μια ιστοσελίδα. Απλώς επικολλήστε το περιεχόμενο ενός εγγράφου XML ή HTML, εισαγάγετε μια έκφραση XPath και δείτε τα αποτελέσματα της αντιστοίχισης σε πραγματικό χρόνο. Αυτό το εργαλείο είναι ιδιαίτερα κατάλληλο για αρχάριους να ξεκινήσουν γρήγορα και να κάνουν απλές ασκήσεις XPath.
XPath Helper Plugin: Λαμβάνοντας ως παράδειγμα το πρόγραμμα περιήγησης Chrome, μετά την εγκατάσταση της προσθήκης XPath Helper, θα προσθέσει ένα αιωρούμενο παράθυρο στη διεπαφή του προγράμματος περιήγησης κατά την περιήγηση στον ιστό, εμφανίζοντας τη διαδρομή XPath του τρέχοντος στοιχείου του ποντικιού και μπορείτε να επεξεργαστείτε και να δοκιμάσετε εκφράσεις XPath απευθείας στο παράθυρο, βελτιώνοντας σημαντικά την αποτελεσματικότητα ανάπτυξης.

XPath Αφηρημένη Σύνταξη

Επιλέξτε έναν κόμβο

Το XPath χρησιμοποιεί εκφράσεις διαδρομής για να επιλέξει κόμβους σε ένα έγγραφο XML. Οι κόμβοι επιλέγονται ακολουθώντας μια διαδρομή ή ένα βήμα. Οι πιο χρήσιμες εκφράσεις διαδρομής παρατίθενται παρακάτω:
έκφραση
περιγραφή
όνομα κόμβουΕπιλέγει όλους τους θυγατρικούς κόμβους αυτού του κόμβου.
/Επιλέξτε από τον ριζικό κόμβο (πάρτε τον θυγατρικό κόμβο).
//Επιλέγει κόμβους στο έγγραφο από τον τρέχοντα κόμβο της αντίστοιχης επιλογής, ανεξάρτητα από τη θέση τους (πάρτε απογόνους κόμβους).
.Επιλέξτε τον τρέχοντα κόμβο.
..Επιλέξτε τον γονικό κόμβο του τρέχοντος κόμβου.
@Επιλέξτε ένα χαρακτηριστικό.

Στον παρακάτω πίνακα, παραθέτουμε ορισμένες εκφράσεις διαδρομής μαζί με τα αποτελέσματα των εκφράσεων:
Εκφράσεις διαδρομής
έκβαση
βιβλιοπωλείοΕπιλέξτε όλους τους κόμβους με το όνομα βιβλιοπωλείο.
/bookstore
Επιλέξτε το ριζικό στοιχείο βιβλιοπωλείο.
Σημείωση: Εάν η διαδρομή ξεκινά με κάθετο προς τα εμπρός ( / ), τότε αυτή η διαδρομή αντιπροσωπεύει πάντα μια απόλυτη διαδρομή προς ένα στοιχείο!
βιβλιοπωλείο/βιβλίοΕπιλέγει όλα τα στοιχεία του βιβλίου που είναι θυγατρικά στοιχεία του βιβλιοπωλείου.
//bookΕπιλέγει όλα τα υποστοιχεία του βιβλίου, ανεξάρτητα από τη θέση τους στο έγγραφο.
βιβλιοπωλείο//βιβλίοΕπιλέξτε όλα τα στοιχεία βιβλίου που είναι απόγονοι του στοιχείου βιβλιοπωλείου, ανεξάρτητα από το πού βρίσκονται κάτω από το βιβλιοπωλείο.
@langΕπιλέξτε όλες τις ιδιότητες με το όνομα lang.

Κατηγορήματα

Ένα κατηγόρημα χρησιμοποιείται για την εύρεση ενός συγκεκριμένου κόμβου ή ενός κόμβου που περιέχει μια καθορισμένη τιμή.
Το κατηγόρημα είναι ενσωματωμένο σε αγκύλες.
Στον παρακάτω πίνακα, παραθέτουμε ορισμένες εκφράσεις διαδρομής με κατηγορήματα και τα αποτελέσματα των εκφράσεων:
Εκφράσεις διαδρομής
έκβαση
/bookstore/book[1]Επιλέξτε το πρώτο στοιχείο βιβλίου που αποτελεί μέρος του θυγατρικού στοιχείου του βιβλιοπωλείου.
/bookstore/book[last()]Επιλέγει το τελευταίο στοιχείο βιβλίου που αποτελεί μέρος του υποστοιχείου του βιβλιοπωλείου.
/bookstore/book[last()-1]Επιλέγει το προτελευταίο στοιχείο βιβλίου που ανήκει στο θυγατρικό στοιχείο του βιβλιοπωλείου.
/bookstore/book[position()<3]Επιλέξτε τα δύο πρώτα στοιχεία βιβλίου που είναι θυγατρικά στοιχεία του στοιχείου βιβλιοπωλείου.
τίτλος[@lang]Επιλέγει όλα τα στοιχεία τίτλου που έχουν μια ιδιότητα με το όνομα lang.
title[@lang='eng']Επιλέγει όλα τα στοιχεία τίτλου που έχουν χαρακτηριστικό lang με τιμή eng.
/bookstore/book[price>35.00]Επιλέγει όλα τα στοιχεία βιβλίου του στοιχείου βιβλιοπωλείου και η τιμή του στοιχείου τιμής πρέπει να είναι μεγαλύτερη από 35,00.
/bookstore/book[price>35.00]//titleΕπιλέγει όλα τα στοιχεία τίτλου του στοιχείου βιβλίου στο στοιχείο βιβλιοπωλείου και η τιμή του στοιχείου τιμής πρέπει να είναι μεγαλύτερη από 35,00.

Επιλέξτε έναν άγνωστο κόμβο

Οι χαρακτήρες μπαλαντέρ XPath μπορούν να χρησιμοποιηθούν για τη συλλογή άγνωστων στοιχείων XML.
μπαλαντέρ
περιγραφή
*Ταιριάζει με οποιονδήποτε κόμβο στοιχείου.
@*Ταιριάζει με οποιονδήποτε κόμβο χαρακτηριστικών.
node()Ταιριάζει με κάθε τύπο κόμβου.

Στον παρακάτω πίνακα, παραθέτουμε ορισμένες εκφράσεις διαδρομής και τα αποτελέσματα αυτών των εκφράσεων:
Εκφράσεις διαδρομής
έκβαση
/bookstore/*Επιλέγει όλα τα θυγατρικά στοιχεία του στοιχείου βιβλιοπωλείου.
//*Επιλέγει όλα τα στοιχεία στο έγγραφο.
τίτλος[@*]Επιλέγει όλα τα στοιχεία τίτλου με χαρακτηριστικά.

Επιλέξτε έναν αριθμό διαδρομών

Χρησιμοποιώντας το "|" στην παράσταση διαδρομής χειριστές, μπορείτε να επιλέξετε πολλές διαδρομές.

Στον παρακάτω πίνακα, παραθέτουμε ορισμένες εκφράσεις διαδρομής και τα αποτελέσματα αυτών των εκφράσεων:
Εκφράσεις διαδρομής
έκβαση
//book/title | //book/priceΕπιλέγει όλα τα στοιχεία τίτλου και τιμής του στοιχείου βιβλίου.
τίτλος | τιμήΕπιλέξτε όλα τα στοιχεία τίτλου και τιμής στο έγγραφο.
/bookstore/book/title | //priceΕπιλέγει όλα τα στοιχεία τίτλου του στοιχείου βιβλίου που ανήκουν στο στοιχείο βιβλιοπωλείου και όλα τα στοιχεία τιμής στο έγγραφο.

Συνάρτηση XPath

Ακολουθεί μια σχολιασμένη λίστα προσθηκών στο XPath ανά βασικές συναρτήσεις XPath και XSLT, συμπεριλαμβανομένων περιγραφών, σύνταξης, λιστών παραμέτρων, τύπων αποτελεσμάτων και πηγών στις αντίστοιχες συστάσεις του W3C.

  • boolean()
  • οροφή()
  • επιλέξτε()
  • concat()
  • περιέχει()
  • count()
  • current() XSLT specific
  • document() Ειδικά για το XSLT
  • στοιχείο-διαθέσιμο()
  • false()
  • όροφος()
  • format-number() Ειδικά για το XSLT
  • function-available()
  • generate-id() Ειδικά για το XSLT
  • id()
  • key() Ειδικά για XSLT
  • lang()
  • last()
  • local-name()
  • όνομα()
  • namespace-uri()
  • normalize-space()
  • δεν()
  • αριθμός()
  • θέση()
  • γύρος()
  • ξεκινά-με()
  • συμβολοσειρά()
  • μήκος συμβολοσειράς()
  • υποσυμβολοσειρά()
  • substring-after()
  • substring-before()
  • sum()
  • system-property() Ειδικό XSLT
  • translate()
  • true()
  • unparsed-entity-url() Ειδικά για το XSLT

Πρακτικές δοκιμασίες

Ανοίξτε το Chrome και λάβετε το περιεχόμενο κειμένου όλων των συνδέσμων της καρτέλας A με την ακόλουθη εντολή:
Οπως φαίνεται παρακάτω:



Αναφορά:Η σύνδεση με υπερσύνδεσμο είναι ορατή.




Προηγούμενος:[Θεατρικός συγγραφέας] (3) Αυτοματοποιημένος έλεγχος για τον εντοπισμό εξαιρέσεων σφαλμάτων
Επόμενος:.NET/C# καλεί την υπηρεσία περιβάλλοντος εργασίας μετάφρασης κειμένου Azure Translator
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com