Parcourir un arbre DOM en Java

Compléments sur l'interface Node

Remarque

  • Chaque élément de l'arbre XML est un nœud encapsulé dans l'interface Node ou dans une de ses interfaces filles. A chacune de ces interfaces correspond une constante correspondant au type du nœud. Le type d'un nœud est important puisqu'il permet d'avoir accès aux méthodes spécifiques de ce dernier.

  • Les nœuds de l'arbre héritant de l'interface Node, ils ont donc accès à la méthode short getNodeType() permettant de connaître le type du nœud.

SyntaxeTypes de nœuds possibles

Constante

Valeur

Rôle

ELEMENT_NODE

1

Elément

ATTRIBUTE_NODE

2

Attribut

TEXT_NODE

3

Texte

CDATA_SECTION_NODE

4

Section de type CData

ENTITY_REFERENCE_NODE

5

Référence d'entité

ENTITY_NODE

6

Entité

PROCESSING_INSTRUCTION_NODE

7

Instruction de traitement

COMMENT_NODE

8

Commentaire

DOCUMENT_NODE

9

Racine du document

DOCUMENT_TYPE_NODE

10

Document

DOCUMENT_FRAGMENT_NODE

11

Fragment d'un document

NOTATION_NODE

12

Notation

Exemple

CTRL+C pour copier, CTRL+V pour coller
1
<repertoire>                       
2
     <personne id="3">             
3
          <nom>Dupont</nom>
4
          <prenom>Jean</prenom>
5
     </personne>
6
</repertoire>
<repertoire>                       
     <personne id="3">             
          <nom>Dupont</nom>
          <prenom>Jean</prenom>
     </personne>
</repertoire>
CTRL+C pour copier, CTRL+V pour coller
1
/                                    -> Nœud de type DOCUMENT_NODE
2
 |repertoire
3
     |personne                       
4
       |@id = "3"                    ->Nœud de type ATTRIBUTE_NODE
5
       |nom                          ->Nœud de type ELEMENT_NODE
6
         |text = "Dupont"          
7
       |prenom
8
         |text = "Jean"            	 ->Nœud de type TEXT_NODE
/                                    -> Nœud de type DOCUMENT_NODE
 |repertoire
     |personne                       
       |@id = "3"                    ->Nœud de type ATTRIBUTE_NODE
       |nom                          ->Nœud de type ELEMENT_NODE
         |text = "Dupont"          
       |prenom
         |text = "Jean"            	 ->Nœud de type TEXT_NODE
PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Etienne Chognard, Nicolas Lhome, Kévin Jezequell 2014-2016 (Contributions : Stéphane Crozat, les étudiants de NF29) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)