Tutoriel XML

ACCUEIL XML Introduction XML XML Comment utiliser Arbre XML Syntaxe XML Éléments XML Attributs XML Espaces de noms XML Affichage XML Requête HTTP XML Analyseur XML DOM XML XPath XML XML XSLT XQuery XML XMLXLink Validateur XML DTD XML Schéma XML Serveur XML Exemples XML XML Quiz Certificat XML

XMLAJAX

Présentation d'AJAX AJAX XMLHttp Requête AJAX Réponse AJAX Fichier XML AJAX PHP AJAX ASP AJAX Base de données AJAX Applications AJAX Exemples AJAX

DOM XML

Présentation du DOM Nœuds DOM Accès au DOM Informations sur le nœud DOM Liste des nœuds DOM Traversée du DOM Navigation DOM DOM Obtenir des valeurs Nœuds de changement DOM DOM Supprimer les nœuds DOM Remplacer les nœuds DOM Créer des nœuds DOM Ajouter des nœuds Nœuds de clonage DOM Exemples DOM

Tutoriel XPath

Présentation de XPath Nœuds XPath Syntaxe XPath Axes XPath Opérateurs XPath Exemples XPath

Tutoriel XSLT

Présentation de XSLT Langages XSL Transformation XSLT XSLT <modèle> XSLT <valeur-de> XSLT <pour-chaque> XSLT <sort> XSLT <si> XSLT <choisir> Appliquer XSLT XSLT sur le client XSLT sur le serveur XSLT Éditer XML Exemples XSLT

Tutoriel XQuery

Présentation de XQuery Exemple XQuery XQuery FLWOR XQuery HTML Termes XQuery Syntaxe XQuery Ajouter XQuery Sélection XQuery Fonctions XQuery

DTD XML

Présentation de la DTD Blocs de construction DTD Éléments DTD Attributs DTD Éléments DTD vs Attr Entités DTD Exemples de DTD

Schéma XSD

Présentation XSD Comment XSD XSD <schéma> Éléments XSD Attributs XSD Restrictions XSD

Complexe XSD

Éléments XSD XSD vide Éléments XSD uniquement Texte XSD uniquement XSD Mixte Indicateurs XSD XSD <tout> XSD <anyAttribute> Remplacement XSD Exemple XSD

Données XSD

Chaîne XSD Date XSD Numérique XSD Divers XSD Référence XSD

Services Web

Services XML XMLWSDL SAVON XML XML RDF XML RSS

Les références

Types de nœuds DOM Nœud DOM Liste de nœuds DOM DOM NamedNodeMap Documents DOM Élément DOM Attribut DOM Texte DOM DOM CDATA DOM Comment DOM XMLHttpRequest Analyseur DOM Éléments XSLT Fonctions XSLT/XPath

Liste de nœuds DOM XML


Une liste de nœuds est renvoyée par la méthode getElementsByTagName() et la propriété childNodes.


Essayez-le vous-même - Exemples

Les exemples ci-dessous utilisent le fichier XML books.xml .


Cet exemple utilise la méthode getElementsByTagName() pour obtenir le texte du premier élément <title> dans "books.xml".


Cet exemple utilise la liste des nœuds et la propriété length pour parcourir tous les éléments <title> dans "books.xml"


Cet exemple utilise une liste d'attributs pour obtenir l'attribut du premier élément <book> dans "books.xml".

×

Entête


Liste des nœuds DOM

Lors de l'utilisation de propriétés ou de méthodes telles que childNodes ou getElementsByTagName(), un objet de liste de nœuds est renvoyé.

Un objet liste de nœuds représente une liste de nœuds, dans le même ordre que dans le XML.

Les nœuds de la liste de nœuds sont accessibles avec des numéros d'index commençant à 0.

L'image suivante représente une liste de nœuds des éléments <title> dans " books.xml " :

Liste des nœuds DOM

Supposons que "books.xml" soit chargé dans la variable xmlDoc.

Ce fragment de code renvoie une liste de nœuds d'éléments de titre dans "books.xml":

x = xmlDoc.getElementsByTagName("title");

Après l'exécution de l'instruction ci-dessus, x est un objet de liste de nœuds.

Le fragment de code suivant renvoie le texte du premier élément <title> dans la liste de nœuds (x) :

Exemple

var txt = x[0].childNodes[0].nodeValue;

Après l'exécution de la déclaration ci-dessus, txt = "Everyday Italian".



Longueur de la liste de nœuds

Un objet de liste de nœuds se tient à jour. Si un élément est supprimé ou ajouté, la liste est automatiquement mise à jour.

La propriété length d'une liste de nœuds est le nombre de nœuds dans la liste.

Ce fragment de code renvoie le nombre d'éléments <title> dans "books.xml" :

x = xmlDoc.getElementsByTagName('title').length;

Après l'exécution de l'instruction ci-dessus, la valeur de x sera 4.

La longueur de la liste de nœuds peut être utilisée pour parcourir tous les éléments de la liste.

Ce fragment de code utilise la propriété length pour parcourir la liste des éléments <title> :

Exemple

x = xmlDoc.getElementsByTagName('title');
xLen = x.length;

for (i = 0; i <xLen; i++) {
    txt += x[i].childNodes[0].nodeValue) + " ";
}

Sortir:

Everyday Italian
Harry Potter
XQuery Kick Start
Learning XML

Exemple expliqué :

  1. Supposons que " books.xml " soit chargé dans xmlDoc
  2. Définissez la variable x pour contenir une liste de nœuds de tous les éléments de titre
  3. Collectez les valeurs de nœud de texte à partir des éléments <title>

Liste d'attributs DOM (carte de nœuds nommés)

La propriété attributs d'un nœud d'élément renvoie une liste de nœuds d'attribut.

C'est ce qu'on appelle une carte de nœuds nommés et est similaire à une liste de nœuds, à l'exception de quelques différences dans les méthodes et les propriétés.

Une liste d'attributs se tient à jour. Si un attribut est supprimé ou ajouté, la liste est automatiquement mise à jour.

Ce fragment de code renvoie une liste de nœuds d'attribut à partir du premier élément <book> dans "books.xml" :

x = xmlDoc.getElementsByTagName('book')[0].attributes;

Après l'exécution du code ci-dessus, x.length = est le nombre d'attributs et x.getNamedItem() peut être utilisé pour renvoyer un nœud d'attribut.

Ce fragment de code obtient la valeur de l'attribut "category" et le nombre d'attributs d'un livre :

Exemple

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

txt = x.getNamedItem("category").nodeValue + " " + x.length;

Sortir:

cooking 1

Exemple expliqué :

  1. Supposons que " books.xml " soit chargé dans xmlDoc
  2. Définissez la variable x pour contenir une liste de tous les attributs du premier élément <book>
  3. Obtenir la valeur de l'attribut "category" et la longueur de la liste d'attributs