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

Nœud de remplacement DOM


XML DOM Remplacer le nœud


La méthode replaceChild() remplace le nœud spécifié.

L'attribut nodeValue remplace le texte dans un nœud de texte.


tryitimg.gifEssayez-le - Exemple


L'exemple suivant utilise un fichier XML livres .xml.
La fonction loadXMLDoc(), située en JavaScript externe, permet de charger des fichiers XML.

Remplacer le nœud d'élément
Cet exemple utilise replaceChild() pour remplacer le premier nœud <book>

Remplacer les données dans le nœud de texte
Cet exemple utilise l'attribut nodeValue pour remplacer les données dans le nœud de texte.


Remplacer le nœud d'élément

La méthode replaceChild() est utilisée pour remplacer les nœuds.

L'extrait de code suivant remplace le premier élément <book> :

Instance

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

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

x=xmlDoc.documentElement;

//create a book element, title element and a text node
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");

//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);

y=xmlDoc.getElementsByTagName("book")[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);

z=xmlDoc.getElementsByTagName("title");
for (i=0;i<z.length;i++)
{
document.write(z[i].childNodes[0].nodeValue);
document.write("<br>");
}
</script>
</body>
</html>

Exécuter l'instance»

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

Explication de l'exemple :

  1. Utilisez loadXMLDoc() pour charger des « livres .xml" Dans xmlDoc,

  2. crée un nouveau nœud d'élément <book>

  3. crée un nouveau nœud d'élément <title>

  4. Créez un nouveau nœud de texte avec le texte "A Notebook"

  5. Ajoutez ce nouveau nœud de texte au nouveau nœud d'élément <title> >

  6. Ajouter ce nouveau nœud d'élément <title> au nouveau nœud d'élément <book>

  7. Remplacer le premier nœud d'élément <book> Le nouveau nœud d'élément <book>


Remplacer les données dans le nœud de texte

la méthode replaceData() est utilisée pour remplacer les données dans le nœud de texte. La méthode

replaceData() a trois paramètres :

  • offset - par où commencer le remplacement des caractères. les valeurs de décalage commencent par 0.

  • longueur - combien de caractères remplacer

  • chaîne - la chaîne à insérer

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(x.nodeValue);
x.replaceData(0,8,"Easy");

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

</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. Obtenez le premier < ; Le nœud texte du nœud élément

  3. utilise la méthode replaceData pour remplacer les 8 premiers caractères du nœud texte par "Easy"


Utilisez l'attribut nodeValue au lieu de

Il est plus facile de remplacer les données dans les nœuds de texte par l'attribut nodeValue.

L'extrait de code suivant remplacera la valeur du nœud de texte dans le premier élément <title> par "Easy Italian" :

Exemple

<!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(x.nodeValue);
x.nodeValue="Easy Italian";

document.write("<br>");
document.write(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. Obtenez le nœud de texte du premier nœud d'élément <title> Utilisez la propriété nodeValue pour modifier le texte de ce nœud de texte

  3. Vous pouvez en savoir plus sur la modification des valeurs de nœud dans le chapitre Modification des nœuds.