Tomando o document object model (dom) abordagem para documentos xml
A dicotomia entre pensamento linear e separa pensamento holístico (respectivamente) SAX de 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 no é exatamente o que você precisa fazer.
nós DOM
Com DOM, você pensa de um documento XML como tendo vários nós. Exemplos de nós incluem elementos, atributos, comentários e os caracteres entre um par de marcas de início e de fim. Um documento XML inteiro é em si um nó. Tudo somado, 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" gt;
Fundador, presidente, secretário, gerente de Publicidade
A árvore tem onze nós. Para contá-los, começar por contar galhos da árvore (convenientemente apresentadas na Figura 1). Em seguida, contar os Estados firstname = ramo “Herbert” uma segunda vez. (Este ramo tem dois nós DOM nele. 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ó Membro é um criança do nó AnchovyLoversClub. Isso porque, na Listagem 1, o elemento Membro está aninhado no elemento AncoverLoversClub.
- De forma semelhante, o nó Standing é um filho do nó Membro. Esta analogia família vai sobre e sobre. O nó dos membros é o 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, 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 pedaços de texto são nós.
- Na Figura 1, o comentário é um nó filho do nó de documento. Isso porque, na Listagem 1, o comentário é parte do documento. O comentário não está aninhado em 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 é 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ó rotulado Membro. Isso porque, tanto quanto DOM está em causa, o nó AnchovyLoversClub tem três coisas nele.
retorno do 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 pe - 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 do carro. Com DOM, todos os espaços ignorable entre a marca de início AnchovyLoversClub e os Estados começar 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 começar 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 dessa maneira. Em vez disso, você visitar o elemento Membro apenas uma vez. Dentro dessa visita, você visitar o elemento Standing e algum texto. DOM tem nenhum método correspondente ao método SAX endElement.