Tutoriel XML DO...login
Tutoriel XML DOM
auteur:php.cn  temps de mise à jour:2022-04-13 15:27:56

DOM supprimer le nœud


XML DOM Supprimer le nœud


La méthode RemoveChild() supprime le nœud spécifié. La méthode

removeAttribute() supprime l'attribut spécifié.



tryitimg.gifEssayez - Exemple

L'exemple ci-dessous utilise le fichier XML books.xml.
La fonction loadXMLDoc(), située en JavaScript externe, permet de charger des fichiers XML.

Supprimer le nœud d'élément
Cet exemple utilise RemoveChild() pour supprimer le premier élément <book>

Supprimer le nœud d'élément actuel
Cet exemple utilise parentNode et removeChild() pour supprimer l'élément <book>

Supprimer le nœud de texte
Cet exemple utilise RemoveChild() pour supprimer le nœud de texte du premier élément <title>

Effacer le texte du nœud de texte
Cet exemple utilise l'attribut nodeValue() pour effacer le nœud de texte du premier élément <title>

Supprimer un attribut par nom
Cet exemple utilise removeAttribute() pour supprimer l'attribut "category" du premier élément <book>

Supprimer les attributs basés sur l'objet
Cet exemple utilise removeAttributeNode() pour supprimer tous les attributs de tous les éléments <book>


Supprimer le nœud d'élément

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.

L'extrait de code suivant supprimera le premier élément <book> du fichier XML chargé :

Exemple

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

document.write("Number of book nodes: ");
document.write(xmlDoc.getElementsByTagName('book').length);
document.write("<br>");

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

document.write("Number of book nodes after removeChild(): ");
document.write(xmlDoc.getElementsByTagName('book').length);

</script>
</body>
</html>

Exécuter l'exemple»

Cliquez sur le bouton « Exécuter l'exemple » pour afficher l'exemple en ligne

Explication de l'exemple :

  1. Utiliser loadXMLDoc( ) dans "books.xml" Chargez xmlDoc

  2. Définissez la variable y sur le nœud de l'élément à supprimer

  3. En utilisant RemoveChild() La méthode du nœud parent supprime le nœud d'élément


se supprime - supprime le nœud actuel

La méthode RemoveChild() est la seule méthode qui peut supprimer le nœud spécifié .

Lorsque vous avez accédé au nœud qui doit être supprimé, vous pouvez supprimer ce nœud en utilisant l'attribut parentNode et la méthode removeChild() :

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");

document.write("Number of book nodes before removeChild(): ");
document.write(xmlDoc.getElementsByTagName("book").length);
document.write("<br>");

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

document.write("Number of book nodes after removeChild(): ");
document.write(xmlDoc.getElementsByTagName("book").length);

</script>
</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne

Explication des exemples :

  1. Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc

  2. Définissez la variable y sur Nœud d'élément supprimé souhaité

  3. Supprimez ce nœud d'élément en utilisant l'attribut parentNode et la méthode RemoveChild()


Supprimez le nœud de texte< 🎜 La méthode >

removeChild() peut être utilisée pour supprimer des nœuds de texte :

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>
<script>
xmlDoc=loadXMLDoc("books.xml");


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

document.write("Child nodes: ");
document.write(x.childNodes.length);
document.write("<br>");

y=x.childNodes[0];
x.removeChild(y);

document.write("Child nodes: ");
document.write(x.childNodes.length);
</script>
</body>
</html>

Exécuter l'instance »Cliquez sur le bouton "Exécuter l'exemple" pour afficher des exemples en ligne

Explication des exemples :

  1. Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc

  2. Définissez la variable x sur le premier nœud de l'élément de titre

  3. Définissez la variable y sur le nœud de texte à supprimer

  4. Supprimez un nœud d'élément de son nœud parent à l'aide de la méthode RemoveChild()

RemoveChild(), moins couramment utilisé, supprime le texte d'un nœud. L'attribut nodeValue peut être utilisé à la place. Veuillez consulter le paragraphe suivant.


Effacer le nœud de texte

L'attribut nodeValue peut être utilisé pour modifier ou effacer la valeur du nœud de texte :

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

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

document.write("Value: " + x.nodeValue);
document.write("<br>");

x.nodeValue="";

document.write("Value: " + x.nodeValue);
</script>
</body>
</html>

Exécuter l'instance»Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne

Explication de l'instance :

  1. Utilisez loadXMLDoc () Chargez "books.xml" dans xmlDoc

  2. Définissez la variable x sur le nœud de texte du premier élément de titre

  3. Utilisez l'attribut nodeValue pour effacer le texte du nœud de texte

Parcourez et modifiez les nœuds de texte de tous les éléments <title> : essayez



Supprimer en fonction du nom du nœud d'attribut

la méthoderemoveAttribute(

name) est utilisée pour supprimer les nœuds d'attribut en fonction du nom.

Exemple : removeAttribute('category')

L'extrait de code suivant supprime l'attribut "category" dans le premier élément <book> :

Exemple

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName('book');

document.write(x[0].getAttribute('category'));
document.write("<br>");

x[0].removeAttribute('category');

document.write(x[0].getAttribute('category'));

</script>
</body>
</html>

Exécuter l'instance»Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne

Explication des exemples :

  1. Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc

  2. Utilisez getElementsByTagName() pour obtenir book node

  3. Supprimez l'attribut "category" du premier nœud d'élément de livre

Parcourez et supprimez le "de tous les éléments <book> Attribut "category" : essayez la méthode


Supprimer les nœuds d'attribut basés sur des objets

removeAttributeNode(node) supprime les nœuds d'attribut en utilisant l'objet nœud comme paramètre.

Exemple : removeAttributeNode(x)

L'extrait de code suivant supprime tous les attributs de tous les éléments <book> :

Exemple

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

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

  document.write("Removed: " + old_att.nodeName)
  document.write(": " + old_att.nodeValue)
  document.write("<br>")
  }
}
</script>
</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton "Exécuter l'instance" pour afficher l'instance en ligne

Explication de l'instance :

  1. Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc

  2. Utilisez getElementsByTagName() pour obtenir tous les nœuds de livre

  3. Vérifiez chaque élément de livre si un élément de livre a des attributs

  4. Si un attribut existe dans un élément de livre, supprimez l'attribut