XML DOM Avancé XML DOM - Avancé Plus tôt dans ce didacticiel, nous avons présenté le XML DOM et utilisé la méthode getElementsByTagName() du XML DOM pour récupérer les données d'un document XML. Dans ce chapitre, nous combinerons quelques autres méthodes XML DOM importantes. Vous pouvez en savoir plus sur XML DOM dans notre didacticiel XML DOM. Obtenez la valeur de l'élément dans le fichier XML utilisé dans l'exemple suivant : books.xml. L'exemple suivant récupère la valeur texte du premier élément <title> : Exemple
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue;
Essayez-le »
L'exemple suivant récupère la valeur texte de l'attribut « lang » du premier élément <title> :
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");
Essayez-le »
L'exemple suivant modifie la valeur textuelle du premier élément <title> :
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];x.nodeValue="Cuisine facile";
Essayez-le »
La méthode setAttribute() du XML DOM 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") et l'ajoute à chaque élément <book> :
x=xmlDoc.getElementsByTagName("book");for(i=0;i<x.length;i++){x[i].setAttribute("edition","first");}
Essayez-le »
La méthode createElement() du XML DOM crée un nouveau nœud d'élément.
La méthode createTextNode() du XML DOM crée un nouveau nœud de texte.
La méthode appendChild() du XML DOM ajoute un nœud enfant à un nœud (après le dernier nœud enfant).
Pour créer un nouvel élément avec un contenu textuel, créez simultanément un nouveau nœud d'élément et un nouveau nœud de texte, puis ajoutez-le au 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> :
newel=xmlDoc.createElement("edition");newtext=xmlDoc.createTextNode("First");newel.appendChild(newtext);x=xmlDoc.getElementsByTagName("book");x[0].appendChild(newel);
Essayez-le »
Exemple d'explication
Créer un élément <edition>
Créez un nœud de texte avec la valeur "First"
Ajoutez ce nœud de texte au nouvel élément <edition>
Ajouter l'élément <edition> au premier élément <book>
L'exemple suivant supprime le premier nœud du premier élément <book> :
x=xmlDoc.getElementsByTagName("book")[0];x.removeChild(x.childNodes[0]);
Essayez-le »
Remarque : Les résultats de l'exemple ci-dessus peuvent varier en fonction du navigateur utilisé. Firefox traite les caractères de nouvelle ligne comme des nœuds de texte vides, mais pas Internet Explorer. Vous pouvez en savoir plus sur ce problème et comment l'éviter dans notre didacticiel XML DOM.