Récupération des valeurs des nœuds XML DOM
- Page précédente Localisation de nœud DOM
- Page suivante Modification de nœud 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"
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>
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
Parcourir tous les éléments <book> et obtenir leurs attributs "category" :TIY
- Page précédente Localisation de nœud DOM
- Page suivante Modification de nœud DOM