Remplacement des nœuds DOM XML

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

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

Remplacez le nœud d'élément

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

Le fragment de code suivant remplace le premier élément <book> :

Exemple

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
// Créez un élément book, un élément title et un nœud de texte
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("Un nouveau livre");
// Ajoutez le nœud de texte au nœud title
newTitle.appendChild(newText);
// Ajoutez ce nœud title au nœud book
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0];
// Remplacez le premier nœud book par le nouveau nœud
x.replaceChild(newNode,y);

x.nodeValue="Un nouveau livre";

Essayez-le vous-même

  1. Exemple d'explication : books.xml chargé dans xmlDoc de
  2. Créez un nouveau nœud d'élément <book>
  3. Créez un nouveau nœud d'élément <title>
  4. Créez un nouveau nœud de texte contenant le texte "Un nouveau livre"
  5. Ajoutez ce nouveau nœud de texte au nouveau nœud d'élément <title>
  6. Ajoutez ce nouveau nœud d'élément <title> au nouveau nœud d'élément <book>
  7. Remplacez le premier nœud d'élément <book> par un nouveau nœud d'élément <book>

Remplacer les données des nœuds de texte

replaceData() La méthode est utilisée pour remplacer les données des nœuds de texte.

replaceData() La méthode a trois paramètres :

  • offset - D'où commencer le remplacement de caractères. La valeur de décalage commence à zéro
  • length - Le nombre de caractères à remplacer
  • string - La chaîne de caractères à insérer

Exemple

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,4,"Un nouveau livre");

x.nodeValue="Un nouveau livre";

Essayez-le vous-même

  1. Exemple d'explication : books.xml chargé dans xmlDoc de
  2. Obtention du texte du premier élément <title> en tant que nœud texte
  3. Utilisation replaceData() La méthode remplace les huit premiers caractères du nœud de texte par "Un nouveau livre"

Utilisez l'attribut nodeValue à la place

Utilisation nodeValue Les attributs sont plus faciles à remplacer que les données des nœuds de texte.

Le fragment de code suivant remplace le texte du premier élément <title> par "Un nouveau livre":

Exemple

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="一本新书";

x.nodeValue="Un nouveau livre";

Essayez-le vous-même

  1. Exemple d'explication : books.xml chargé dans xmlDoc de
  2. Obtention du texte du premier élément <title> en tant que nœud texte
  3. Utilisation nodeValue Attributs pour modifier le texte du nœud texte

Vous pouvez lire plus sur la modification des valeurs de nœuds dans le chapitre Changer les nœuds.