Nós XML DOM
De acordo com o XML DOM, tudo em um documento XML é um nó :
- O documento inteiro é um nó de documento
- Cada elemento XML é um nó de elemento
- O texto nos elementos XML são nós de texto
- Cada atributo é um nó de atributo
- Comentários são nós de comentários
Exemplo de DOM
Veja o seguinte arquivo XML ( books.xml ):
<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
O nó raiz no XML acima é denominado <bookstore>.
Todos os outros nós do documento estão contidos em <bookstore>.
O nó raiz <bookstore> contém 4 nós <book>.
O primeiro nó <book> contém os nós filhos: <title>, <author>, <year> e <price>.
Os nós filho contêm um nó de texto cada, "Italiano diário", "Giada De Laurentiis", "2005" e "30.00".
O texto é sempre armazenado em nós de texto
Um erro comum no processamento do DOM é esperar que um nó de elemento contenha texto.
No entanto, o texto de um nó de elemento é armazenado em um nó de texto.
Neste exemplo: <year>2005</year> , o nó do elemento <year> contém um nó de texto com o valor "2005".
"2005" não é o valor do elemento <year>!
A árvore de nós XML DOM
O XML DOM visualiza um documento XML como uma estrutura em árvore. A estrutura em árvore é chamada de árvore de nós.
Todos os nós podem ser acessados através da árvore. Seu conteúdo pode ser modificado ou excluído, e novos elementos podem ser criados.
A árvore de nós mostra o conjunto de nós e as conexões entre eles. A árvore começa no nó raiz e se ramifica para os nós de texto no nível mais baixo da árvore:
A imagem acima representa o arquivo XML books.xml .
Pais, filhos e irmãos do nó
Os nós na árvore de nós têm um relacionamento hierárquico entre si.
Os termos pai, filho e irmão são usados para descrever os relacionamentos. Os nós pais têm filhos. As crianças do mesmo nível são chamadas de irmãos (irmãos ou irmãs).
- Em uma árvore de nós, o nó superior é chamado de raiz
- Cada nó, exceto a raiz, tem exatamente um nó pai
- Um nó pode ter qualquer número de filhos
- Uma folha é um nó sem filhos
- Irmãos são nós com o mesmo pai
A imagem a seguir ilustra uma parte da árvore de nós e o relacionamento entre os nós:
Como os dados XML são estruturados em forma de árvore, eles podem ser percorridos sem conhecer a estrutura exata da árvore e sem conhecer o tipo de dados contidos nela.
Você aprenderá mais sobre como percorrer a árvore de nós em um capítulo posterior deste tutorial.
Primeiro Filho - Último Filho
Observe o seguinte fragmento XML:
<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
</bookstore>
No XML acima, o elemento <title> é o primeiro filho do elemento <book> e o elemento <price> é o último filho do elemento <book>.
Além disso, o elemento <book> é o nó pai dos elementos <title>, <author>, <year> e <price>.