Analyseur DOM Java - Présentation

Le Document Object Model (DOM) est une recommandation officielle du World Wide Web Consortium (W3C). Il définit une interface qui permet aux programmes d'accéder et de mettre à jour le style, la structure et le contenu des documents XML. Les analyseurs XML qui prennent en charge DOM implémentent cette interface.

Quand utiliser?

Vous devez utiliser un analyseur DOM lorsque -

  • Vous devez en savoir beaucoup sur la structure d'un document.

  • Vous devez déplacer des parties d'un document XML (vous voudrez peut-être trier certains éléments, par exemple).

  • Vous devez utiliser les informations d'un document XML plusieurs fois.

Ce que vous obtenez?

Lorsque vous analysez un document XML avec un analyseur DOM, vous récupérez une arborescence qui contient tous les éléments de votre document. Le DOM fournit une variété de fonctions que vous pouvez utiliser pour examiner le contenu et la structure du document.

Avantages

Le DOM est une interface courante pour manipuler les structures de documents. L'un de ses objectifs de conception est que le code Java écrit pour un analyseur compatible DOM doit s'exécuter sur tout autre analyseur compatible DOM sans avoir à effectuer de modifications.

Interfaces DOM

Le DOM définit plusieurs interfaces Java. Voici les interfaces les plus courantes -

  • Node - Le type de données de base du DOM.

  • Element - La grande majorité des objets que vous traitez sont des éléments.

  • Attr - Représente un attribut d'un élément.

  • Text - Le contenu réel d'un élément ou Attr.

  • Document- Représente l'intégralité du document XML. Un objet Document est souvent appelé une arborescence DOM.

Méthodes DOM courantes

Lorsque vous travaillez avec DOM, vous utilisez souvent plusieurs méthodes -

  • Document.getDocumentElement() - Renvoie l'élément racine du document.

  • Node.getFirstChild() - Renvoie le premier enfant d'un nœud donné.

  • Node.getLastChild() - Renvoie le dernier enfant d'un nœud donné.

  • Node.getNextSibling() - Ces méthodes renvoient le frère suivant d'un nœud donné.

  • Node.getPreviousSibling() - Ces méthodes renvoient le frère précédent d'un Node donné.

  • Node.getAttribute(attrName) - Pour un Node donné, il renvoie l'attribut avec le nom demandé.