XML DOM Remplacer les nœuds
La méthode replaceChild() remplace un nœud spécifié.
La propriété nodeValue remplace le texte dans un nœud de texte.
Essayez-le vous-même - Exemples
Les exemples ci-dessous utilisent le fichier XML books.xml .
Cet exemple utilise replaceChild() pour remplacer le premier nœud <book>.
Cet exemple utilise la propriété nodeValue pour remplacer des données dans un nœud de texte.
Remplacer un nœud d'élément
La méthode replaceChild() est utilisée pour remplacer un nœud.
Le fragment de code suivant remplace le premier élément <book> :
Exemple
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);
Exemple expliqué :
- Charger " livres.xml " dans xmlDoc
- Créer un nouveau nœud d'élément <book>
- Créer un nouveau nœud d'élément <title>
- Créez un nouveau nœud de texte avec le texte "A Notebook"
- Ajouter le nouveau nœud de texte au nouveau nœud d'élément <title>
- Ajouter le nouveau nœud d'élément <title> au nouveau nœud d'élément <book>
- Remplacez le premier nœud d'élément <book> par le nouveau nœud d'élément <book>
Remplacer des données dans un nœud de texte
La méthode replaceData() est utilisée pour remplacer les données dans un nœud de texte.
La méthode replaceData() a trois paramètres :
- offset - Où commencer à remplacer les caractères. La valeur de décalage commence à zéro
- longueur - Combien de caractères à remplacer
- string - La chaîne à insérer
Exemple
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
Exemple expliqué :
- Charger " livres.xml " dans xmlDoc
- Obtenir le nœud de texte du premier nœud d'élément <title>
- Utilisez la méthode replaceData pour remplacer les huit premiers caractères du nœud de texte par "Easy"
Utilisez plutôt la propriété nodeValue
Il est plus facile de remplacer les données dans un nœud de texte à l'aide de la propriété nodeValue.
Le fragment de code suivant remplacera la valeur du nœud de texte dans le premier élément <title> par "Easy Italian":
Exemple
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
Exemple expliqué :
- Charger " livres.xml " dans xmlDoc
- Obtenir le nœud de texte du premier nœud d'élément <title>
- Utilisez la propriété nodeValue pour modifier le texte du nœud de texte
Vous pouvez en savoir plus sur la modification des valeurs de nœud dans le chapitre Changer de nœud .