Tomando o Document Object Model (DOM) Abordagem de documentos XML
A dicotomia entre o pensamento linear e separa o pensamento holístico (respectivamente) SAX do DOM.
SAX (Simple API para XML) trata de um documento XML de forma linear, trabalhando através de um pedaço de documentos por parte, do início ao fim. Mas com DOM (Document Object Model), você entrar e olhar para todo o documento. Um pouco mais tarde, você aumenta o zoom no elemento raiz e, em seguida, concentrar-se mais de perto em um elemento dentro do elemento raiz. Em algumas situações, saltando na é exatamente o que você precisa fazer.
nós DOM
Com DOM, você pensa de um documento XML como tendo várias nós. Exemplos de nós incluir elementos, atributos, comentários e os caracteres entre um par de tags de início e fim. Um documento XML inteiro é em si um nó. Ao todo, um documento XML pode ter 12 tipos diferentes de nós.
Os nós de uma árvore
Tomados em conjunto, todos os nós DOM em um documento XML formar uma árvore. Tomemos, por exemplo, o documento na Listagem 1. árvore DOM deste documento se parece com a árvore mostrada na Figura 1.
Listagem 1: A anchova Clube dos amantes
lt;? xml version = "1.0" encoding = "UTF-8">
Fundador, presidente, secretário, gerente de Publicidade
A árvore tem onze nodos. Para contá-los, começar por contar galhos da árvore (convenientemente apresentadas na Figura 1). Em seguida, contar os Estados-nome = ramo "Herbert" uma segunda vez. (Este ramo tem dois nós DOM sobre ele. O elemento nomeado Membro é um nó, e o atributo do elemento de nome = "Herbert" é um nó).
Um tratado sobre árvores
Existem algumas coisas que você vai descobrir por olhando para a árvore na Figura 1.
- Alguns nós somos filhos de outros nós. Por exemplo, o nó é um membro criança do nó AnchovyLoversClub. Isso porque, na Listagem 1, o elemento-Membro está aninhado no elemento AncoverLoversClub. De forma semelhante, o nó permanente é um filho do nó-Membro. Esta analogia família vai sobre e sobre. O nó dos membros é a parente do nó pe, eo AncoverLoversClub é o pai do nó-Membro.
- O documento inteiro é um nó. Este é um ponto importante, e é fácil de esquecer. Na Listagem 1, o elemento raiz do documento é AnchovyLoversClub. Mas na Figura 1, o nome AnchovyLoversClub não está no topo da árvore. Em vez disso, a palavra #document está no topo da árvore.
- nó superior de uma árvore DOM representa um documento XML inteiro. Os erros ocorrem quando os programadores pensam que o elemento raiz do documento começa a árvore. (Não faz.)
- Comentários e partes de texto são nós. Na Figura 1, o comentário é um nó filho do nó documento. Isso porque, na Listagem 1, o comentário é parte do documento. O comentário não está encaixado qualquer um dos elementos do documento. Mais uma vez, jogamos genealogia. Nós dizemos que o nó #document tem dois filhos - um nó de comentário e um nó AnchovyLoversClub. Esses dois nós - o comentário e o AnchovyLoversClub - são chamados irmãos. Também na Figura 1, o Fundador texto, Presidente, Secretário, Publicidade Manager é parte de um nó. Na Listagem 1, o Fundador texto, Presidente, Secretário, Publicidade Manager é dentro do elemento Permanente. Assim, na Figura 1, este nó de texto é um filho do nó Permanente.
- Mesmo texto ignorable faz parte de um nó. De acordo com a Figura 1, o nó AnchovyLoversClub tem três nós diretos da criança - dois nós #text rotulados, e outro nó marcado Membro. Isso porque, na medida do DOM está em causa, o nó AnchovyLoversClub tem três coisas nele.
retorno de carro e três espaços em branco
elemento membro
retorno de carro
- A situação é ilustrada na Figura 2.
- Os três filhos do nó de membros - dois pedaços de espaço em branco e um elemento permanente - são todos irmãos. Agora, observe os pontos e o [cr] nas Figuras 1 e 2. No diagrama de árvore, um ponto representa um espaço em branco, e [cr] representa um retorno de carro. Com DOM, todos os espaços ignorable entre a marca de início AnchovyLoversClub e os Estados iniciar tag forma um nó. Começando com o suporte de ângulo que termina a marca de início AnchovyLoversClub, você vai para a próxima linha, e então você tem três espaços em branco antes do colchete angular que abre os Estados iniciar tag. Todas as coisas que é um nó DOM.
- tags de fim não são nós. Com SAX, você pode estar pensando em termos de começar o elemento-Membro, e, posteriormente, terminando o elemento-Membro. No DOM, você não pensa desta maneira. Em vez disso, você visitar o elemento Membro apenas uma vez. Dentro dessa visita, você visitar o elemento permanente e algum texto. DOM tem nenhum método correspondente ao método SAX endElement.