Ajout de nœuds XML DOM
- Page précédente Création de nœuds DOM
- Page suivante Nœud DOM cloné
Exemple
L'exemple suivant utilise le fichier XML books.xml.
Fonction loadXMLDoc()Situé à l'extérieur du JavaScript, utilisé pour charger les fichiers XML.
- Ajouter un nœud après le dernier sous-nœud
- Dans cet exemple, la méthode appendChild() est utilisée pour ajouter un sous-nœud à un nœud existant.
- Ajouter un nœud avant un sous-nœud spécifié
- Dans cet exemple, la méthode insertBefore() est utilisée pour insérer un nœud avant un sous-nœud spécifié.
- Ajouter une nouvelle propriété
- Dans cet exemple, la méthode setAttribute() est utilisée pour ajouter une nouvelle propriété.
- Ajouter des données à un nœud de texte
- Dans cet exemple, la méthode insertData() est utilisée pour insérer des données dans un nœud de texte existant.
Ajouter un nœud - appendChild()
La méthode appendChild() ajoute un sous-nœud à un nœud existant.
Le nouveau nœud sera ajouté (ajouté) après tout sous-nœud existant.
Remarque :Utilisez la méthode insertBefore() si la position du nœud est importante.
Le fragment de code suivant crée un élément (<edition>) et le ajoute après le dernier sous-nœud du premier élément <book> :
xmlDoc=loadXMLDoc("books.xml"); newel=xmlDoc.createElement("edition"); x=xmlDoc.getElementsByTagName("book")[0]; x.appendChild(newel);
Exemple d'explication :
- En utilisant loadXMLDoc() Ajouter "books.xmlCharger dans xmlDoc
- Créer un nouveau nœud <edition>.
- Ajouter ce nœud à la première élément <book>.
Boucler et ajouter un élément à tous les éléments <book> :TIY
Insérer un nœud - insertBefore()
La méthode insertBefore() est utilisée pour insérer un nœud avant un sous-nœud spécifié.
Cette méthode est très utile lorsque la position du nœud ajouté est importante.
xmlDoc=loadXMLDoc("books.xml"); newNode=xmlDoc.createElement("book"); x=xmlDoc.documentElement; y=xmlDoc.getElementsByTagName("book")[3]; x.insertBefore(newNode,y);
Exemple d'explication :
- En utilisant loadXMLDoc() Ajouter "books.xmlCharger dans xmlDoc
- Créer un nouveau nœud d'élément <book>.
- Insérer ce nœud avant le dernier élément <book>.
Si le second paramètre de insertBefore() est null, le nouveau nœud sera ajouté après le dernier sous-nœud existant.
x.insertBefore(newNode,null) et x.appendChild(newNode) Tous peuvent ajouter un nouveau sous-nœud à x.
Ajouter une nouvelle propriété
La méthode addAtribute() n'existe pas.
Si l'attribut n'existe pas, setAttribute() peut créer un nouvel attribut :
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName('book'); x[0].setAttribute("edition","first");
Exemple d'explication :
- En utilisant loadXMLDoc() Ajouter "books.xmlCharger dans xmlDoc
- Définir (créer) la valeur de l'attribut "edition" du premier élément <book> en "first"
Remarque :Si l'attribut existe déjà, la méthode setAttribute() remplacera la valeur existante.
Ajouter du texte au nœud de texte - insertData()
La méthode insertData() insère des données dans un nœud de texte existant.
La méthode insertData() a deux paramètres :
- offset - Où commencer l'insertion de caractères (commence à 0)
- string - Chaîne à insérer
Le fragment de code suivant ajoutera "Easy" au texte du premier nœud <title> du XML chargé :
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title")[0].childNodes[0]; x.insertData(0,"Hello ");
- Page précédente Création de nœuds DOM
- Page suivante Nœud DOM cloné