Tutoriel XML DO...login
Tutoriel XML DOM
auteur:php.cn  temps de mise à jour:2022-04-13 15:27:56

Liste des nœuds DOM


XML DOM Liste de nœuds


La liste de nœuds est renvoyée par la méthode getElementsByTagName() et l'attribut childNodes.


tryitimg.gifEssayez-le - Exemple


ci-dessous L'exemple utilise le fichier XML books.xml.
La fonction loadXMLDoc(), située en JavaScript externe, permet de charger des fichiers XML.

Récupérer le texte du premier élément <title>
Cet exemple utilise la méthode getElementsByTagName() pour obtenir le texte du premier élément <title>

Utilisez l'attribut length pour parcourir les nœuds
Cet exemple utilise la liste de nœuds et l'attribut length pour parcourir tous les éléments <title>

Obtenir les attributs d'un élément
Cet exemple utilise une liste d'attributs pour obtenir les attributs du premier élément <book>


Liste de nœuds DOM (Liste de nœuds)

Lors de l'utilisation d'attributs ou de méthodes telles que childNodes ou getElementsByTagName(), un objet de liste de nœuds sera renvoyé.

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

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

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

nodelist.gif

L'extrait de code suivant charge "books.xml" à l'aide de loadXMLDoc( ) dans xmlDoc et renvoie la liste de nœuds de l'élément titre dans "books.xml":

xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName ( "title");

Une fois l'instruction ci-dessus exécutée, x est l'objet de la liste de nœuds.

L'extrait de code suivant renvoie le texte du premier élément <title> de la liste de nœuds (x) :

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("title");
txt=x[0].childNodes[0].nodeValue;
document.write(txt);
</script>
</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne

Une fois l'instruction ci-dessus exécutée, txt = "Everyday Italian".


Longueur de la liste de nœuds

L'objet de liste de nœuds se tiendra à jour. Si des éléments sont supprimés ou ajoutés, 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.

L'extrait de code suivant charge "books.xml" dans xmlDoc à l'aide de loadXMLDoc() et renvoie le nombre d'éléments <title> dans "books.xml" :

xmlDoc= loadXMLDoc("books.xml");

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

Une fois l'instruction ci-dessus exécutée, x = 4 .

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

L'extrait de code suivant utilise l'attribut length pour parcourir une liste d'éléments <title> :

Exemple

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName('title');
for (i=0;i<x.length;i++)
{
document.write(x[i].childNodes[0].nodeValue);
document.write("<br>");
}
</script>
</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne

Sortie :

Italien de tous les jours
Harry Potter
XQuery Kick Start
Apprentissage XML

Explication des exemples :

  1. Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc

  2. Définissez la variable x pour contenir la liste de nœuds de tous les éléments de titre

  3. Sortez les valeurs des nœuds de texte de tous les <titre> ; éléments


Liste d'attributs DOM (Named Node Map)

L'attribut d'attributs du 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.

La liste des propriétés se tiendra à jour. Cette liste est automatiquement mise à jour si des attributs sont supprimés ou ajoutés.

L'extrait de code suivant charge "books.xml" dans xmlDoc à l'aide de loadXMLDoc() et renvoie la liste de nœuds d'attribut du premier élément <book> 🎜>xmlDoc=loadXMLDoc("books.xml");

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


ci-dessus Une fois le code exécuté , x.length est égal au nombre d'attributs et le nœud d'attribut peut être renvoyé en utilisant x.getNamedItem().
L'extrait de code suivant affiche la valeur de l'attribut "category" d'un livre, ainsi que le nombre de ses attributs :

Instance

<!DOCTYPE html>
<html>
<head>
<script src="loadxmldoc.js"> 
</script>
</head>
<body>

<script>
xmlDoc=loadXMLDoc("books.xml");

x=xmlDoc.getElementsByTagName("book")[0].attributes;
document.write(x.getNamedItem("category").nodeValue);
document.write("<br>" + x.length);
</script>
</body>
</html>

Exécuter l'instance»

Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne

Sortie :

cuisine

1

Explication des exemples :

  1. Utilisez loadXMLDoc() pour charger "books.xml" dans xmlDoc

  2. Définissez la variable x pour qu'elle contienne une liste de tous les attributs du premier élément <book>

  3. Sortez la valeur de l'attribut "category"

  4. La longueur de la liste d'attributs de sortie