Apache Xerces - Présentation de l'analyseur DOM

Le modèle d'objet de document 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 le 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 du document (vous voudrez peut-être trier certains éléments, par exemple).

  • Vous devez utiliser les informations du document 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 changement.

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 traiterez 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 le DOM, plusieurs méthodes sont souvent utilisées -

  • 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 nœud donné, renvoie l'attribut avec le nom demandé.