Διαγραφή κόμβου XML DOM
- Προηγούμενη σελίδα Αλλαγή κόμβων DOM
- Επόμενη σελίδα Αντικατάσταση κόμβων DOM
Η μέθοδος removeChild() αφαιρεί τον καθορισμένο κόμβο.
Η μέθοδος removeAttribute() αφαιρεί την καθορισμένη ιδιότητα.
Παράδειγμα
Στο παρακάτω παράδειγμα χρησιμοποιείται αρχείο XML books.xml.
Λειτουργία loadXMLDoc(),τοποθετημένοι στο εξωτερικό JavaScript, χρησιμοποιούνται για τη φόρτωση αρχείων XML.
- Αφαίρεση στοιχείου κόμβου
- Σε αυτό το παράδειγμα χρησιμοποιείται η removeChild() για την αφαίρεση του πρώτου στοιχείου <book>.
- Αφαίρεση του τρέχοντος στοιχείου κόμβου
- Σε αυτό το παράδειγμα χρησιμοποιείται το parentNode και η removeChild() για την αφαίρεση του τρέχοντος στοιχείου <book>.
- Διαγραφή κειμένου σημείου
- Σε αυτό το παράδειγμα χρησιμοποιείται η removeChild() για την αφαίρεση του κόμβου text του πρώτου στοιχείου <title>.
- Καθαρισμός του κειμένου του κόμβου text
- Σε αυτό το παράδειγμα χρησιμοποιείται η ιδιότητα nodeValue() για την καθαίρεση του κειμένου του κόμβου text του πρώτου στοιχείου <title>.
- Αφαίρεση ιδιοτήτων με βάση το όνομα
- Σε αυτό το παράδειγμα χρησιμοποιείται η removeAttribute() για την αφαίρεση της ιδιότητας "category" από το πρώτο στοιχείο <book>.
- Αφαίρεση ιδιοτήτων με βάση το αντικείμενο
- Σε αυτό το παράδειγμα χρησιμοποιείται η removeAttributeNode() για την αφαίρεση όλων των ιδιοτήτων του στοιχείου <book>.
Αφαίρεση στοιχείου κόμβου
Η μέθοδος removeChild() αφαιρεί τον καθορισμένο κόμβο.
Όταν ένας κόμβος αφαιρεθεί, και όλοι οι υποκόμβοι του θα αφαιρεθούν.
Η παρακάτω κλάση κώδικα θα αφαιρέσει το πρώτο στοιχείο <book> από το φορτωμένο xml:
xmlDoc=loadXMLDoc("books.xml"); y=xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Παράδειγμα ερμηνείας:
- Με τη χρήση loadXMLDoc() Το "books.xml" Βασίζεται στο xmlDoc
- Ρυθμίστε τη μεταβλητή y ως το στοιχείο που θα διαγραφεί
- Με τη χρήση της μεθόδου removeChild() απομακρύνετε το στοιχείο από τον γονικό του σημείο
Διαγραφή του εαυτού σας - Διαγραφή του τρέχοντος σημείου
Η μέθοδος removeChild() είναι η μοναδική μέθοδος που μπορεί να διαγράψει το καθορισμένο σημείο.
Όταν έχετε εντοπίσει το σημείο που θέλετε να διαγράψετε, μπορείτε να το διαγράψετε χρησιμοποιώντας την ιδιότητα parentNode και τη μέθοδο removeChild():
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Παράδειγμα ερμηνείας:
- Με τη χρήση loadXMLDoc() Το "books.xml" Βασίζεται στο xmlDoc
- Ρυθμίστε τη μεταβλητή y ως το στοιχείο που θα διαγραφεί
- Με τη χρήση της ιδιότητας parentNode και της μεθόδου removeChild() απομακρύνετε το στοιχείο από το στοιχείο του γονικού του
Διαγραφή κειμένου σημείου
Η μέθοδος removeChild() μπορεί να χρησιμοποιηθεί για τη διαγραφή του κειμένου του σημείου:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0]; y=x.childNodes[0]; x.removeChild(y);
Παράδειγμα ερμηνείας:
- Με τη χρήση loadXMLDoc() Το "books.xml" Βασίζεται στο xmlDoc
- Ρυθμίστε τη μεταβλητή x ως το σημείο του πρώτου στοιχείου title
- Ρυθμίστε τη μεταβλητή y ως το κείμενο που θα διαγραφεί
- Με τη χρήση της μεθόδου removeChild() απομακρύνετε το σημείο από τον γονικό του σημείο
Λιγότερο συχνά, το removeChild() απομακρύνει το κείμενο από το σημείο. Μπορεί να χρησιμοποιηθεί η ιδιότητα nodeValue αντί αυτού. Δείτε το επόμενο κεφάλαιο.
Καθαρισμός κειμένου σημείου
Η ιδιότητα nodeValue μπορεί να χρησιμοποιηθεί για να αλλάξει ή να καθαρίσει την τιμή του κειμένου του σημείου:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="";
Παράδειγμα ερμηνείας:
- Με τη χρήση loadXMLDoc() Το "books.xml" Βασίζεται στο xmlDoc
- Ρυθμίστε τη μεταβλητή x ως τον κείμενο του πρώτου στοιχείου title
- Χρησιμοποιήστε την ιδιότητα nodeValue για να καθαρίσετε τον κείμενο του κειμένου του σημείου
Καθοδηγείτε το κύκλο και αλλάζετε τον κείμενο του κάθε στοιχείου <title>: TIY
Διαγραφή σημείου ιδιότητας με βάση το όνομα
Η μέθοδος removeAttribute(name) χρησιμοποιείται για τη διαγραφή του σημείου ιδιότητας με βάση το όνομα.
Παράδειγμα: removeAttribute('category')
Η παρακάτω κωδική ενότητα διαγράφει την ιδιότητα "category" του πρώτου στοιχείου <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Παράδειγμα ερμηνείας:
- Με τη χρήση loadXMLDoc() Το "books.xml" Βασίζεται στο xmlDoc
- Χρησιμοποιήστε το getElementsByTagName() για να αποκτήσετε τα σημεία book
- Αφαιρέστε το χαρακτηριστικό "category" από τον πρώτο κόμβο στοιχείου book
Περιηγηθείτε και αφαιρέστε όλα τα χαρακτηριστικά "category" από τα στοιχεία <book>: TIY.
Αφαίρεση χαρακτηριστικών με βάση το αντικείμενο
Το μέθοδο removeAttributeNode(node) χρησιμοποιείται με Node αντικείμενο ως παράμετρο για την αφαίρεση χαρακτηριστικών του κόμβου.
Παράδειγμα: removeAttributeNode(x)
Το παρακάτω κομμάτι κώδικα αφαιρεί όλα τα χαρακτηριστικά από τα στοιχεία <book>:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); for (i=0;i<x.length;i++) { while (x[i].attributes.length>0) { attnode=x[i].attributes[0]; old_att=x[i].removeAttributeNode(attnode); } }
Παράδειγμα ερμηνείας:
- Με τη χρήση loadXMLDoc() Το "books.xml" Βασίζεται στο xmlDoc
- Χρησιμοποιήστε getElementsByTagName() για να πάρετε όλα τα στοιχεία book
- Ελέγξτε αν κάθε στοιχείο book έχει χαρακτηριστικό
- Αφαιρέστε το χαρακτηριστικό αν υπάρχει στο στοιχείο book
- Προηγούμενη σελίδα Αλλαγή κόμβων DOM
- Επόμενη σελίδα Αντικατάσταση κόμβων DOM