Récupération des valeurs des nœuds XML DOM

L'attribut nodeValue est utilisé pour obtenir la valeur de texte du nœud.

La méthode getAttribute() renvoie la valeur de l'attribut.

Exemple

Les exemples suivants utilisent le fichier XML books.xml.

Fonction loadXMLDoc(),située en externe au JavaScript, utilisée pour charger le fichier XML.

Obtenir la valeur de l'élément
Dans cet exemple, getElementsByTagname() est utilisé pour obtenir l'élément <title> premier dans "books.xml".
Obtenir la valeur de l'attribut
Dans cet exemple, la méthode getAttribute() est utilisée pour obtenir la valeur de l'attribut "lang" de l'élément <title> premier dans "books.xml".

Obtenir la valeur de l'élément

Dans le DOM, chaque composant est un nœud. Les nœuds d'élément n'ont pas de valeur de texte.

Le texte des nœuds d'élément est stocké dans les sous-nœuds. Ce nœud est appelé nœud de texte.

La méthode pour obtenir le texte de l'élément consiste à obtenir la valeur de ce sous-nœud (nœud de texte).

Obtenir la valeur de l'élément

La méthode getElementsByTagName() renvoie une liste de nœuds contenant tous les éléments possédant le nom de balise spécifié, dans l'ordre de leur apparition dans le document source.

Le code suivant utilise loadXMLDoc() Définir "books.xmlChargé dans xmlDoc et recherche l'élément <title> premier :

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.getElementsByTagName("title")[0];

L'attribut childNodes renvoie une liste de sous-nœuds. L'élément <title> n'a qu'un seul sous-nœud, à savoir un nœud de texte.

Le code suivant recherche le nœud de texte de l'élément <title> :

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];

L'attribut nodeValue renvoie la valeur de texte du nœud de texte :

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

Résultat : txt = "Harry Potter"

TIY

Parcourir tous les éléments <title> :TIY

Obtenir la valeur de l'attribut

Dans le DOM, les attributs sont également des nœuds. Contrairement aux nœuds d'élément, les nœuds d'attribut possèdent une valeur de texte.

La méthode pour obtenir la valeur de l'attribut consiste à obtenir sa valeur de texte.

Cette tâche peut être accomplie en utilisant la méthode getAttribute() ou l'attribut nodeValue de l'élément.

Obtenir la valeur de l'attribut - getAttribute()

La méthode getAttribute() renvoie la valeur de l'attribut.

Le code suivant recherche la valeur du texte de l'attribut "lang" de l'élément <title> premier :

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

Résultat : txt = "en"

Explication de l'exemple :

  • En utilisant loadXMLDoc() Définir "books.xmlCharger xmlDoc
  • Définir la variable txt avec la valeur de l'attribut "lang" du premier élément <title>

TIY

Parcourir tous les éléments <book> et obtenir leurs attributs "category" :TIY

Obtenir la valeur de l'attribut - getAttributeNode()

La méthode getAttributeNode() retourne le nœud d'attribut.

Le code suivant recherche le texte de l'attribut "lang" du premier élément <title> :

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;

Résultat : txt = "en"

Explication de l'exemple :

  • En utilisant loadXMLDoc() Définir "books.xmlCharger xmlDoc
  • Obtenir l'attribut "lang" du premier élément <title>
  • Définir la variable txt avec la valeur de l'attribut

TIY

Parcourir tous les éléments <book> et obtenir leurs attributs "category" :TIY