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.
Type | noeud.nodeName() | noeud.nodeValue() |
---|---|---|
Attr | Attr.name | Attr.value |
CDATASection | "#cdata-section" | CharacterData.data |
Comment | "#comment" | CharacterData.data |
Document | "#document" | null |
DocumentFragment | "#document-fragment" | null |
DocumentType | DocumentType.name | null |
Element | Element.tagName | null |
Entity | nom de l'entité | null |
EntityReference | nom de la référence d'entité | null |
Notation | nom de la notation | null |
ProcessingInstruction | ProcessingInstruction.target | ProcessingInstruction.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. |