XML DOM Avancé


XML DOM - Avancé

DansDans les chapitres précédents de ce tutorielnous avons introduit le XML DOM et utilisé la méthode getElementsByTagName() du XML DOM pour récupérer des données à partir d'un document XML.

Dans ce chapitre, nous allons examiner d'autres méthodes importantes du XML DOM.

Vous pouvez, dans notreTutoriel XML DOMen apprendre plus sur le XML DOM.


Obtenir la valeur d'un élément

Le fichier XML utilisé dans les exemples ci-dessous :。

L'exemple suivant récupère la valeur textuelle du premier élément <title> :

Exemple

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

Essayez-le vous-même »


Obtenir la valeur d'un attribut

L'exemple suivant récupère la valeur textuelle de l'attribut "lang" du premier élément <title> :

Exemple

txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

Essayez-le vous-même »


Modifier la valeur d'un élément

L'exemple suivant modifie la valeur textuelle du premier élément <title> :

Exemple

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

Essayez-le vous-même »


Créer un nouvel attribut

La méthode setAttribute() du DOM XML peut être utilisée pour modifier la valeur d'un attribut existant, ou pour créer un nouvel attribut.

L'exemple suivant crée un nouvel attribut (edition="first") puis l'ajoute à chaque élément <book> :

Exemple

x=xmlDoc.getElementsByTagName("book");

for(i=0;i<x.length;i++)
{
x[i].setAttribute("edition","first");
}

Essayez-le vous-même »


Créer un élément

La méthode createElement() du DOM XML crée un nouveau nœud d'élément.

La méthode createTextNode() du DOM XML crée un nouveau nœud de texte.

La méthode appendChild() du DOM XML ajoute un nœud enfant à un nœud (après le dernier nœud enfant).

Pour créer un nouvel élément avec du contenu textuel, vous devez créer à la fois un nouveau nœud d'élément et un nouveau nœud de texte, puis l'ajouter à un nœud existant.

L'exemple suivant crée un nouvel élément (<edition>) avec le texte suivant : First, puis l'ajoute au premier élément <book> :

Exemple

newel=xmlDoc.createElement("edition");
newtext=xmlDoc.createTextNode("First");
newel.appendChild(newtext);

x=xmlDoc.getElementsByTagName("book");
x[0].appendChild(newel);

Essayez-le vous-même »

Exemple expliqué

  • Créer un élément <edition>
  • Créer un nœud de texte avec la valeur "First"
  • Ajouter ce nœud de texte au nouvel élément <edition>
  • Ajouter l'élément <edition> au premier élément <book>

Supprimer un élément

L'exemple suivant supprime le premier nœud du premier élément <book> :

Exemple

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

Essayez-le vous-même »

Remarque :Le résultat de l'exemple ci-dessus peut varier selon le navigateur utilisé. Firefox traite les caractères de nouvelle ligne comme des nœuds de texte vides, alors qu'Internet Explorer ne le fait pas. Vous pouvez, dans notreTutoriel XML DOM, en savoir plus sur ce problème et comment l'éviter.

Autres extensions