Suppression des nœuds XML DOM
- Page précédente Modification de nœuds DOM
- Page suivante Remplacement de nœuds DOM
La méthode removeChild() supprime le nœud spécifié.
La méthode removeAttribute() supprime l'attribut spécifié.
Exemple
Les exemples suivants utilisent le fichier XML books.xml
Fonction loadXMLDoc(),situé en JavaScript externe, utilisé pour charger le fichier XML.
- Suppression d'un élément de nœud
- Dans cet exemple, removeChild() est utilisé pour supprimer l'élément <book> premier.
- Suppression de l'élément de nœud courant
- Dans cet exemple, parentNode et removeChild() sont utilisés pour supprimer l'élément <book> courant.
- Supprimer un nœud texte
- Dans cet exemple, removeChild() est utilisé pour supprimer le nœud texte de l'élément <title> premier.
- Vider le texte du nœud texte
- Dans cet exemple, l'attribut nodeValue() est utilisé pour vider le nœud texte de l'élément <title> premier.
- Suppression d'attributs selon le nom
- Dans cet exemple, removeAttribute() est utilisé pour supprimer l'attribut "category" du premier élément <book>.
- Suppression d'attributs selon l'objet
- Dans cet exemple, removeAttributeNode() est utilisé pour supprimer toutes les attributs de l'élément <book>.
Suppression d'un élément de nœud
La méthode removeChild() supprime le nœud spécifié.
Lorsqu'un nœud est supprimé, tous ses nœuds enfants sont également supprimés.
Le fragment de code suivant supprime le premier élément <book> du xml chargé :
xmlDoc=loadXMLDoc("books.xml"); y=xmlDoc.getElementsByTagName("book")[0]; xmlDoc.documentElement.removeChild(y);
Exemple d'explication :
- En utilisant loadXMLDoc() Mettre "books.xml"Charger xmlDoc"
- Définissez la variable y sur l'élément de nœud à supprimer
- Supprimez un nœud élémentaire en utilisant la méthode removeChild() à partir du nœud parent
Supprimer soi-même - supprimer le nœud courant
La méthode removeChild() est la seule méthode qui peut supprimer un nœud spécifique.
Lorsque vous avez localisé le nœud à supprimer, vous pouvez supprimer ce nœud en utilisant l'attribut parentNode et la méthode removeChild() :
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0]; x.parentNode.removeChild(x);
Exemple d'explication :
- En utilisant loadXMLDoc() Mettre "books.xml"Charger xmlDoc"
- Définissez la variable y sur l'élément de nœud à supprimer
- Supprimez cet élément de nœud en utilisant l'attribut parentNode et la méthode removeChild()
Supprimer un nœud texte
La méthode removeChild() peut être utilisée pour supprimer un nœud texte :
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0]; y=x.childNodes[0]; x.removeChild(y);
Exemple d'explication :
- En utilisant loadXMLDoc() Mettre "books.xml"Charger xmlDoc"
- Définissez la variable x sur le nœud de l'élément <title> premier
- Définissez la variable y sur le nœud texte à supprimer
- Supprimez un nœud en utilisant la méthode removeChild() à partir du nœud parent
Peu utilisé, removeChild() pour supprimer un texte de nœud. Vous pouvez utiliser l'attribut nodeValue à la place. Voir le paragraphe suivant.
Vider le nœud texte
L'attribut nodeValue peut être utilisé pour modifier ou vider la valeur du nœud texte :
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.nodeValue="";
Exemple d'explication :
- En utilisant loadXMLDoc() Mettre "books.xml"Charger xmlDoc"
- Définissez la variable x sur le nœud texte de l'élément <title> premier
- Utilisez l'attribut nodeValue pour vider le texte du nœud texte
Parcourir et modifier le texte de tous les éléments <title> : TIY
Supprimer l'attribut de nœud selon le nom
La méthode removeAttribute(name) est utilisée pour supprimer l'attribut de nœud selon le nom.
Exemple : removeAttribute('category')
Le code suivant supprime l'attribut "category" du premier élément <book> :
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book"); x[0].removeAttribute("category");
Exemple d'explication :
- En utilisant loadXMLDoc() Mettre "books.xml"Charger xmlDoc"
- Utilisez getElementsByTagName() pour obtenir le nœud book
- Supprimez la propriété "category" du premier nœud book élément
Parcourez et supprimez toutes les propriétés "category" des éléments <book> : TIY.
Suppression de nœud d'attribut en fonction de l'objet
La méthode removeAttributeNode(node) utilise un objet Node en tant que paramètre pour supprimer le nœud d'attribut.
Exemple : removeAttributeNode(x)
Le fragment de code suivant supprime toutes les propriétés des éléments <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); } }
Exemple d'explication :
- En utilisant loadXMLDoc() Mettre "books.xml"Charger xmlDoc"
- Utilisez getElementsByTagName() pour obtenir tous les nœuds book
- Vérifiez si chaque élément book possède un attribut
- Si un attribut existe dans un élément book, supprimez cet attribut
- Page précédente Modification de nœuds DOM
- Page suivante Remplacement de nœuds DOM