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.