Acessar Nó DOM XML
- Página anterior Nó DOM
- Próxima página Informações sobre nó DOM
Através do DOM, você pode acessar cada nó no documento XML.
Acessar nó
Você pode acessar os nós de três maneiras:
- usando o método getElementsByTagName()
- através de loop (varredura) na árvore de nós
- navegando pelo relacionamento dos nós na árvore de nós
Método getElementsByTagName()
getElementsByTagName()
retorna todos os elementos com o nome de tag especificado.
Sintaxe
node.getElementsByTagName("tagname");
Exemplo
O exemplo a seguir retorna todos os elementos <title> sob o nó x:
x.getElementsByTagName("title");
Atenção, o exemplo acima retorna apenas os elementos <title> sob o nó x. Para retornar todos os elementos <title> do documento XML, use:
xmlDoc.getElementsByTagName("title");
Aqui,xmlDoc
é o próprio documento (nó do documento).
Lista de nós DOM
getElementsByTagName()
方法返回节点列表(node list)。节点列表是节点的数组。
O método retorna uma lista de nós (node list). A lista de nós é um array de nós.
x = xmlDoc.getElementsByTagName("title");
Pode acessar o elemento <title> no x através do número de índice. Se precisar acessar o terceiro <title>, você pode escrever assim:
y = x[2];Notas:
O índice começa em 0.
Você pode usar
Comprimento da lista de nós DOM
O atributo define o comprimento da lista de nós (número de nós). Você pode usar
length
Exemplo
O atributo para percorrer a lista de nós: for (i = 0; i < x.length; i++) { var x = xmlDoc.getElementsByTagName("title"); }
// Aqui pode ser escrito o código para processar cada nó
Tipos de nó O nó do documento de XML
documentElement
O atributo é o nome do nó. O atributo é o nó raiz.
nodeName
O atributo é o nome do nó. nodeType
Os atributos são o tipo do nó.
Você aprenderá mais sobre atributos de nó no próximo capítulo deste tutorial.
Percorrer nós
O código a seguir percorre os nós filhos do nó raiz (também são nós de elemento):
Exemplo
txt = ""; x = xmlDoc.documentElement.childNodes; for (i = 0; i < x.length; i++) { // Processar apenas nós de elemento (tipo 1) if (x[i].nodeType == 1) { txt += x[i].nodeName + "<br>"; } }
Explicação do exemplo:
- Supondo que você já tenha carregado "books.xml"Carregar em
xmlDoc
- Obter os nós filhos do nó raiz (xmlDoc)
- Verificar o tipo de nó de cada subnó. Se o tipo de nó for "
1
", então é nó de elemento - Se for nó de elemento, então exibe o nome do nó
Navegação de relações de nós
O código a seguir navega pelo grafo de nós utilizando as relações entre nós:
Exemplo
x = xmlDoc.getElementsByTagName("book")[0]; xlen = x.childNodes.length; y = x.firstChild; txt = ""; for (i = 0; i < xlen; i++) { // Somente processar nós de elemento (tipo 1) if (y.nodeType == 1) { txt += y.nodeName + "<br>"; } y = y.nextSibling; }
Explicação do exemplo:
- Supondo que você já tenha carregado "books.xml"Carregar em
xmlDoc
- Obter o nó filho do primeiro elemento 'book'
- Definir a variável "y" para o primeiro subnó do elemento "book"
- Para cada subnó (começando pelo primeiro subnó "
y
" começa): - Verificar o tipo de nó de cada subnó. Se o tipo de nó for "
1
" então é nó de elemento - Se for nó de elemento, saída do nome do nó
- Definir "
y
" Variável definida para o próximo nó同级 e executar o loop novamente
- Página anterior Nó DOM
- Próxima página Informações sobre nó DOM