Acesso de Nó XML DOM
- Página anterior Atributos e métodos DOM
- Próxima página Informações sobre nodos DOM
Através do DOM, você pode acessar cada nó do documento XML.
Exemplo
O exemplo a seguir usa arquivo XML books.xml.
função loadXMLDoc()localizado no JavaScript externo, usado para carregar arquivos XML.
- Acessar nós usando o índice da lista de nós
- Este exemplo usa o método getElementsByTagname() para obter o terceiro elemento <title> no "books.xml".
- Percorrer nós usando a propriedade length
- Este exemplo usa a propriedade length para percorrer todos os elementos <title> no "books.xml".
- Ver o tipo de nó do elemento
- Este exemplo usa a propriedade nodeType para obter o tipo de nó do elemento raiz no "books.xml".
- Ciclo de nós de elementos
- Este exemplo usa a propriedade nodeType para lidar com nós de elementos no "books.xml".
- Ciclo de nós de elementos usando relações de nós
- Este exemplo usa a propriedade nodeType e a propriedade nextSibling para lidar com nós de elementos no "books.xml".
Acesso aos nós
Você pode acessar os nós de três maneiras:
- através do uso do método getElementsByTagName()
- através de laço (percurso) do árvore de nós
- navegação no árvore de nós utilizando as relações dos nós
Método getElementsByTagName()
getElementsByTagName() retorna todos os elementos com o nome de tag especificado.
gramática
node.getElementsByTagName("tagname");
Exemplo
O exemplo a seguir retorna todos os elementos <title> abaixo do nó x:
x.getElementsByTagName("title");
Observe que o exemplo acima retorna apenas os elementos <title> abaixo do nó x. Para retornar todos os elementos <title> no documento XML, use:
xmlDoc.getElementsByTagName("title");
Aqui, xmlDoc é o documento em si (nó de documento).
Lista de Nó DOM
O método getElementsByTagName() retorna uma lista de nós (lista de nós). A lista de nós é um array de nós.
O código a seguir usa loadXMLDoc() Defina "books.xml"Carregar xmlDoc em, e armazenar uma lista de nós <title> na variável x:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title");
Você pode acessar o elemento <title> no x usando o índice. Para acessar o terceiro <title>, você pode escrever:
y=x[2];
Nota:Os índices começam em 0.
Você aprenderá mais sobre a Lista de Nó em seções posteriores deste tutorial.
Comprimento da Lista de Nó DOM
A propriedade length define o comprimento da lista de nós (ou seja, o número de nós).
Você pode percorrer uma lista de nós usando a propriedade length:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("title"); for (i=0;i<x.length;i++) { document.write(x[i].childNodes[0].nodeValue); document.write("<br />"); }
Exemplo de explicação:
- Usar loadXMLDoc() Defina "books.xml"Carregar xmlDoc
- Obtenha todos os elementos <title>
- Emita o valor do nó de texto de cada elemento <title>
Tipo de Nó
Documento XML de documentElement propriedade é o nó raiz.
propriedade do nó nodeName propriedade é o nome do nó.
propriedade do nó nodeType As propriedades são o tipo do nó.
Você aprenderá mais sobre as propriedades dos nós na próxima seção deste tutorial.
Percorra o nó
O código a seguir loopa pelos filhos do nó raiz, que também são nós de elementos:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.documentElement.childNodes; for (i=0;i<x.length;i++) { if (x[i].nodeType==1) {//Processar apenas nós de elemento (tipo 1) document.write(x[i].nodeName); document.write("<br />"); } }
Exemplo de explicação:
- Ao usar loadXMLDoc() Defina "books.xml"Carregar em xmlDoc"
- Obtenha os filhos do nó raiz
- Verifique o tipo de nó de cada subnó.
- Se o nó for um nó de elemento, mostre o nome do nó
Navegação usando relações de nó
O código a seguir navega pelo nó usando as relações de nó na árvore de nós:
xmlDoc=loadXMLDoc("books.xml"); x=xmlDoc.getElementsByTagName("book")[0].childNodes; y=xmlDoc.getElementsByTagName("book")[0].firstChild; for (i=0;i<x.length;i++) { if (y.nodeType==1) {//Processar apenas nós de elemento (tipo 1) document.write(y.nodeName + "<br />"); } y=y.nextSibling; }
- Ao usar loadXMLDoc() Defina "books.xml"Carregar em xmlDoc"
- Obtenha o primeiro filho do primeiro elemento book
- Defina a variável "y" como o primeiro filho do primeiro elemento book
- Verifique o tipo de nó de cada subnó, se o tipo de nó for "1", é um nó de elemento
- Se o nó for um nó de elemento, mostre o nome do nó
- Defina a variável "y" como o próximo nó同级 e execute o loop novamente
- Página anterior Atributos e métodos DOM
- Próxima página Informações sobre nodos DOM