Suppression des nœuds DOM XML

removeChild() 方法删除指定的节点。

removeAttribute() 方法删除指定的属性。

删除元素节点

removeChild() 方法删除指定的节点。

当一个节点被删除时,它的所有子节点也会被删除。

这段代码将从已加载的 xml 中删除第一个 <book> 元素:

Exemple

y = xmlDoc.getElementsByTagName("book")[0];
xmlDoc.documentElement.removeChild(y);

Essayez-le vous-même

Explication de l'exemple :

  1. Présumons books.xml a été chargé dans xmlDoc Dans
  2. Définissez la variable y Définissez le nœud d'élément à supprimer
  3. Utilisation removeChild() 方法从父节点中删除该元素节点

删除自己 - 删除当前节点

removeChild() 方法是唯一可以删除指定节点的方法。

当您导航到要删除的节点时,可以使用 parentNode Les propriétés et removeChild() 方法来删除该节点:

Exemple

x = xmlDoc.getElementsByTagName("book")[0];
x.parentNode.removeChild(x);

Essayez-le vous-même

Explication de l'exemple :

  1. Présumons books.xml a été chargé dans xmlDoc Dans
  2. Définissez la variable y Définissez le nœud d'élément à supprimer
  3. Utilisation parentNode Les propriétés et removeChild() La méthode pour supprimer les nœuds d'élément

Suppression des nœuds de texte

removeChild() La méthode peut également être utilisée pour supprimer les nœuds de texte :

Exemple

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
x.removeChild(y);

Essayez-le vous-même

Explication de l'exemple :

  1. Présumons books.xml a été chargé dans xmlDoc Dans
  2. Définissez la variable x Comme le premier nœud title
  3. Définissez la variable y Définissez le nœud à supprimer
  4. Utilisation removeChild() La méthode pour supprimer le nœud de l'arbre depuis le nœud parent

Utilisez simplement removeChild() Le cas où l'on supprime le texte d'un nœud n'est pas fréquent. On peut utiliser l'attribut nodeValue à la place. Voir le paragraphe suivant.

Vider le nœud de texte

nodeValue Les propriétés peuvent être utilisées pour modifier ou vider la valeur des nœuds de texte :

Exemple

xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue = "";

Essayez-le vous-même

Explication de l'exemple :

  1. Présumons books.xml a été chargé dans xmlDoc Dans
  2. Obtention du premier nœud enfant du premier élément title
  3. Utilisation nodeValue Les propriétés peuvent être utilisées pour modifier ou vider la valeur des nœuds de texte

Suppression des nœuds de propriété en fonction du nom

removeAttribute() La méthode est utilisée pour supprimer les nœuds de propriété en fonction du nom.

Exemple 1

Le code suivant supprime la propriété "category" du premier élément <book> :

x = xmlDoc.getElementsByTagName("book");
x[0].removeAttribute("category");

Essayez-le vous-même

Explication de l'exemple :

  1. Présumons books.xml a été chargé dans xmlDoc Dans
  2. Utilisation getElementsByTagName() Pour obtenir le nœud book
  3. Suppression de la propriété "category" du premier élément <book>

Exemple 2

Boucle et suppression de toutes les propriétés "category" des éléments <book> :

for (i = 0; i < xLen; i++) {
    y = x.item(i);
    y.removeAttribute('category');
}

Essayez-le vous-même

Suppression des nœuds de propriété en fonction de l'objet

removeAttributeNode() La méthode utilise un objet Node en tant que paramètre pour supprimer le nœud de propriété.

Le code suivant supprime toutes les propriétés des éléments <book> :

Exemple

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);
    }
}

Essayez-le vous-même

Explication de l'exemple :

  1. Présumons books.xml a été chargé dans xmlDoc Dans
  2. Utilisation getElementsByTagName() Pour obtenir tous les nœuds book
  3. Vérifier si chaque élément book a des attributs
  4. Supprimer l'attribut si un attribut existe dans un élément book