L'interface Node représente un noeud XML générique.

Le document, les fragments de document, la déclaration de définition de type de document, les instructions de traitement, les commentaires, les éléments, les attributs, les noeuds textuels, les références d'entité, les entités et les notations sont tous des noeuds XML.

La connaissance du type d'un objet Node s'effectue par l'intermédiaire de la méthode getNodeType() retournant un entier de type short. Cette valeur correspond à un champ statique de l'interface Node. Une comparaison de la valeur obtenue avec ces champs, indique assurément le type du noeud XML.

switch(noeud.getNodeType){
  case ATTRIBUTE_NODE :
    //Traitement d'un attribut
    break;
  case CDATA_SECTION_NODE :
    //Traitement d'une section CDATA
    break;
  case COMMENT_NODE :
    //Traitement d'un commentaire
    break;
  case DOCUMENT_FRAGMENT_NODE :
    //Traitement d'un fragment de document
    break;
  case DOCUMENT_NODE :
    //Traitement d'un document
    break;
  case DOCUMENT_TYPE_NODE :
    //Traitement d'une déclaration DTD
    break;
  case ELEMENT_NODE :
    //Traitement d'un élément
    break;
  case ENTITY_NODE :
    //Traitement d'une entité
    break;
  case ENTITY_REFERENCE_NODE :
    //Traitement d'une référence d'entité
    break;
  case NOTATION_NODE :
    //Traitement d'une notation
    break;
  case PROCESSING_INSTRUCTION_NODE :
    //Traitement d'une instruction de traitement
    break;
  case TEXT_NODE :
    //Traitement d'un texte
    break;
  default:
    //Traitement d'une erreur
}

La méthode getAttributes() retourne une collection NamedNodeMap dans un seul et unique cas, lorsque le noeud courant est un élément. Pour tous les autres noeuds, la méthode renvoie null.

Les valeurs retournées par les méthodes getNodeName(), getNodeValue() peuvent varier en fonction du type du noeud courant.

Typenoeud.nodeName()noeud.nodeValue()
AttrAttr.nameAttr.value
CDATASection"#cdata-section"CharacterData.data
Comment"#comment"CharacterData.data
Document"#document"null
DocumentFragment"#document-fragment"null
DocumentTypeDocumentType.namenull
ElementElement.tagNamenull
Entitynom de l'entiténull
EntityReferencenom de la référence d'entiténull
Notationnom de la notationnull
ProcessingInstructionProcessingInstruction.targetProcessingInstruction.data
Text"#text"CharacterData.data
Champ
Description
static short ATTRIBUTE_NODE
Le noeud est un attribut.
static short CDATA_SECTION_NODE
Le noeud est une section CDATA.
static short COMMENT_NODE
Le noeud est un commentaire.
static short DOCUMENT_FRAGMENT_NODE
Le noeud est un fragment de document.
static short DOCUMENT_NODE
Le noeud est un document.
static short DOCUMENT_POSITION_CONTAINED_BY
Le noeud est contenu par le noeud de référence.
static short DOCUMENT_POSITION_CONTAINS
Le noeud contient le noeud de référence.
static short DOCUMENT_POSITION_DISCONNECTED
Les deux noeuds sont déconnectés.
static short DOCUMENT_POSITION_FOLLOWING
Le noeud suit le noeud de référence.
static short DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
La détermination du précédent contre le suivant est l'implémentation spécifique.
static short DOCUMENT_POSITION_PRECEDING
Le second noeud précède le noeud de référence.
static short DOCUMENT_TYPE_NODE
Le noeud est une déclaration DTD.
static short ELEMENT_NODE
Le noeud est un élément.
static short ENTITY_NODE
Le noeud est une entité.
static short ENTITY_REFERENCE_NODE
Le noeud est une référence d'entité.
static short NOTATION_NODE
Le noeud est une notation.
static short PROCESSING_INSTRUCTION_NODE
Le noeud est une instruction de traitement.
static short TEXT_NODE
Le noeud est un texte.
Méthode
Description
Node appendChild(Node noeud)
ajoute le nouveau noeud à la fin de la liste d'enfants du noeud courant.
Node cloneNode(boolean recursif)
retourne un clone du noeud courant. Eventuellement, l'arborescence complète du noeud peut être cloné récursivement en fixant à true l'argument.
short compareDocumentPosition(Node noeud)
compare la position des noeuds au sein du document.
NamedNodeMap getAttributes()
retourne la collection d'attributs du noeud courant.
String getBaseURI()
retourne l'adresse URI de base absolue du noeud courant ou null si l'implémentation n'a pas été capable d'obtenir une adresse URI absolue.
NodeList getChildNodes()
retourne une liste de noeuds contenus dans le noeud courant.
Object getFeature(String caracteristique, String version)
retourne un objet spécialisé qui implémente les APIs spécialisées de la caractéristique et la version spécifiées.
Node getFirstChild()
retourne le premier enfant du noeud courant.
Node getLastChild()
retourne le dernier enfant du noeud courant.
String getLocalName()
retourne le nom local du noeud courant.
String getNamespaceURI()
retourne l'adresse URI d'espace de noms du noeud courant, ou null s'il n'en a pas.
Node getNextSibling()
retourne le noeud suivant immédiatement le noeud courant.
String getNodeName()
retourne le nom du noeud courant, en fonction de son type.
short getNodeType()
retourne le type du noeud courant.
String getNodeValue()
retourne la valeur du noeud courant en fonction de son type.
Document getOwnerDocument()
retourne le document auquel appartien le noeud courant.
Node getParentNode()
retourne le noeud parent du noeud courant.
String getPrefix()
retourne le préfixe d'espace de noms du noed courant.
Node getPreviousSibling()
retourne le noeud précédent immédiatement le noeud courant.
String getTextContent()
retourne le contenu textuel du noeud courant et de toute sa descendance.
Object getUserData(String cle)
retourne l'objet associé à la clé passée en argument.
boolean hasAttributes()
indique si le noeud courant possède des attributs.
boolean hasChildNodes()
indique si le noeud courant possède une descendance.
Node insertBefore(Node noeud, Node noeud_reference)
insère le nouveau noeud avant le noeud de référence.
boolean isDefaultNamespace(String URIEspaceNoms)
indique si l'URI d'espace de noms spécifiée est l'espace de nom par défaut.
boolean isEqualNode(Node noeud)
vérifie si les deux noeuds sont égaux.
boolean isSameNode(Node other)
indique si les deux noeuds sont les mêmes.
boolean isSupported(String feature, String version)
indique si la caractéristique et la version sont supportées par le noeud courant.
String lookupNamespaceURI(String prefix)
retourne l'URI d'espace de noms associé au préfixe spécifié, à partir du noeud courant.
String lookupPrefix(String URIEspaceNoms)
retourne le préfixe associé à l'URI d'espace de noms spécifiée, à partir du noeud courant.
void normalize()
place tous les noeuds Text dans toute la profondeur de la sous arborescence en dessous du noeud courant, dans une forme "normale" incluant les attributs, où seulement le balisage (éléments, commentaires, instructions de traitement, sections CDATA et références d'entité) sépare les noeuds Text, c'est-à-dire qu'il ne doit pas y avoir de noeuds de type Text adjacents ou vides.
Node removeChild(Node noeud)
supprime le noeud spécifié de la liste des enfants du noeud courant.
Node replaceChild(Node noeud, Node ancien_noeud)
remplace l'ancien noeud par le nouveau noeud au sein de la liste des enfants du noeud courant.
void setNodeValue(String valeur)
fixe la valeur textuel du noeud courant.
void setPrefix(String prefix)
fixe le préfixe d'espace de noms du noeud courant.
void setTextContent(String contenu)
fixe le contenu textuel du noeud courant et de sa descendance.
Object setUserData(String cle, Object donnee, UserDataHandler gestionnaire)
associe un objet et un gestionnaire à une clé pour le noeud courant.