Étapes pour parser un DOM
Étape 1 : Charger le document XML
Pour parser un fichier XML, on commence par utiliser les classes DocumentBuilderFactory
et DocumentBuilder. Ces classes sont responsables de la création d'un document DOM à
partir du fichier XML.
Dans le code :
• Le constructeur XMLNode(String source) prend le chemin du fichier XML en entrée.
• Le fichier est chargé avec [Link](source).
• Une fois le fichier chargé, on obtient le premier nœud XML valide (élément racine)
avec [Link]() et une boucle pour ignorer les nœuds non-éléments.
Code extrait :
Étape 2 : Naviguer dans les nœuds enfants
Pour accéder aux éléments enfants d’un nœud, on utilise la méthode getChildNodes() de
l’objet Node. On filtre les nœuds pour ne garder que ceux de type ELEMENT_NODE.
Dans le code :
• La méthode children() parcourt les enfants immédiats d’un nœud avec une boucle.
• Elle retourne un tableau d’objets XMLNode représentant les enfants valides.
Code extrait :
Étape 3 : Accéder à un nœud enfant spécifique
Pour trouver un enfant spécifique par son nom, on parcourt la liste des enfants et on
compare leur nom avec celui recherché.
Dans le code :
• La méthode child(String name) utilise une boucle pour parcourir les enfants.
• Elle retourne le premier enfant correspondant au nom demandé sous forme d’un
objet XMLNode.
Code extrait :
Étape 4 : Lire la valeur d’un nœud
La méthode getValue() lit le contenu texte d’un nœud XML. Si un nœud contient un seul
enfant de type TEXT_NODE, cette méthode retourne sa valeur.
Dans le code :
• On récupère les enfants du nœud avec getChildNodes().
• Si le nœud contient uniquement du texte, on retourne la valeur avec
getNodeValue().
Code extrait :
Étape 5 : Lire les attributs d’un nœud
Les attributs sont accessibles avec getAttributes(), qui retourne une liste d’attributs sous
forme d’un objet NamedNodeMap. On peut accéder à un attribut spécifique par son nom.
Dans le code :
• La méthode attribute(String name) retourne la valeur de l’attribut demandé.
• Si l’attribut n’existe pas, la méthode retourne null.
Code extrait :
Étape 6 : Lire un attribut en tant qu’entier
La méthode intAttribute(String name) convertit directement la valeur d’un attribut en entier.
Si la conversion échoue, elle retourne -1.
Dans le code :
• On appelle d’abord attribute(name) pour récupérer la valeur de l’attribut.
• On utilise [Link]() pour la convertir en entier.
Code extrait :
Résumé des étapes et fonctionnalités du code
1. Charger un fichier XML :
o Utilisation de DocumentBuilderFactory et DocumentBuilder.
o Récupération de l’élément racine (node).
2. Naviguer dans les nœuds enfants :
o Méthode children() pour obtenir tous les enfants.
o Méthode child(String name) pour rechercher un enfant par nom.
3. Lire les valeurs des nœuds :
o Méthode getValue() pour lire le texte contenu dans un nœud.
4. Lire les attributs :
o Méthode attribute(String name) pour lire la valeur d’un attribut.
o Méthode intAttribute(String name) pour lire un attribut et le convertir en
entier.