Apache Xerces - Visão geral do analisador DOM

O Document Object Model é uma recomendação oficial do World Wide Web Consortium (W3C). Ele define uma interface que permite aos programas acessar e atualizar o estilo, a estrutura e o conteúdo dos documentos XML. Os analisadores XML que suportam o DOM implementam essa interface.

Quando usar?

Você deve usar um analisador DOM quando -

  • Você precisa saber muito sobre a estrutura de um documento.

  • Você precisa mover partes do documento (você pode querer classificar certos elementos, por exemplo).

  • Você precisa usar as informações do documento mais de uma vez.

O que você ganha?

Ao analisar um documento XML com um analisador DOM, você obtém uma estrutura em árvore que contém todos os elementos do seu documento. O DOM fornece uma variedade de funções que você pode usar para examinar o conteúdo e a estrutura do documento.

Vantagens

O DOM é uma interface comum para manipular estruturas de documentos. Um de seus objetivos de design é que o código Java escrito para um analisador compatível com DOM deve ser executado em qualquer outro analisador compatível com DOM sem alterações.

Interfaces DOM

O DOM define várias interfaces Java. Aqui estão as interfaces mais comuns -

  • Node - O tipo de dados base do DOM.

  • Element - A grande maioria dos objetos com os quais você lidará são Elementos.

  • Attr - Representa um atributo de um elemento.

  • Text - O conteúdo real de um Elemento ou Atr.

  • Document- Representa todo o documento XML. Um objeto Document é freqüentemente referido como uma árvore DOM.

Métodos DOM comuns

Quando você está trabalhando com o DOM, existem vários métodos que são usados ​​com frequência -

  • Document.getDocumentElement() - Retorna o elemento raiz do documento.

  • Node.getFirstChild() - Retorna o primeiro filho de um determinado Nó.

  • Node.getLastChild() - Retorna o último filho de um determinado Nó.

  • Node.getNextSibling() - Esses métodos retornam o próximo irmão de um determinado Nó.

  • Node.getPreviousSibling() - Esses métodos retornam o irmão anterior de um determinado Nó.

  • Node.getAttribute(attrName) - Para um determinado Nó, retorna o atributo com o nome solicitado.