Com o DOM, você pode acessar todos os nós em um documento XML.
Tente você mesmo - Exemplos
Os exemplos abaixo usar o arquivo XML books.xml .
Acessar um nó usando seu número de índice em uma lista de nós
Use o getElementsByTagName() método para obter o terceiro <title> elemento em "books.xml"
Loop através de nós usando a propriedade length
Use a propriedade comprimento para percorrer todos <title> elementos em "books.xml"
Veja o tipo de nó de um elemento
Use a propriedade nodeType para obter tipo de nó do elemento raiz em "books.xml" .
Loop através de nós de elemento
Use a propriedade nodeType para nós de elemento único processo em "books.xml" .
Loop através de nós de elemento usando relações de nó
Use a propriedade nodeType ea propriedade nextSibling para processar nós elemento em "books.xml" .
acessando Nodes
Você pode acessar um nó de três maneiras:
1. Ao utilizar o getElementsByTagName() Método
2. Em loop (traversing) da árvore de nós.
3. Ao navegar pela árvore de nós, usando as relações de nó.
O getElementsByTagName() Método
getElementsByTagName () retorna todos os elementos com um nome de marca especificada.
Sintaxe
node.getElementsByTagName("tagname");
Exemplo
O exemplo a seguir retorna todas as <title> elementos sob o elemento x:
x.getElementsByTagName("title");
Note que o exemplo acima apenas retorna <title> elementos sob o nó x. Para retornar todas as <title> elementos no uso de documentos XML:
xmlDoc.getElementsByTagName("title");
onde xmlDoc é o próprio documento (document node) .
Lista Node DOM
O getElementsByTagName() método retorna uma lista de nós. A lista de nós é uma matriz de nós.
x = xmlDoc.getElementsByTagName("title");
O <title> elementos em x pode ser acessado pelo número de índice. Para acessar o terceiro <title> você pode escrever ::
y = x[2];
Note: O índice começa em 0.
Você vai aprender mais sobre listas de nó em um capítulo posterior deste tutorial.
DOM Lista Nó Comprimento
A propriedade de comprimento define o comprimento de uma lista de nós (the number of nodes) .
Você pode fazer um loop através de uma lista de nós usando a propriedade length:
Exemplo
var
x = xmlDoc.getElementsByTagName("title");
for (i = 0; i <x.length; i++) {
//
do something for each node
}
Tente você mesmo " Tipos de nó
O documentElement propriedade do documento XML é o nó raiz.
O nodeName propriedade de um nó é o nome do nó.
O nodeType propriedade de um nó é o tipo de nodo.
Você vai aprender mais sobre as propriedades do nó no próximo capítulo deste tutorial.
atravessando Nodes
O código a seguir percorre os nós filho, que também são nós de elemento, do nó raiz:
Exemplo
txt = "";
x = xmlDoc.documentElement.childNodes;
for (i = 0; i <x.length; i++)
{
// Process only element nodes (type 1)
if (x[i].nodeType == 1) {
txt += x[i].nodeName + "<br>";
}
}
Tente você mesmo " Exemplo explicou:
- Suponha que você tenha carregado " books.xml " em xmlDoc
- Obter os nós filhos do elemento raiz (xmlDoc)
- Para cada nó filho, verifique o tipo de nó. Se o tipo de nó é "1" , é um nodo elemento
- Saída o nome do nó, se for um nó elemento
Relações Nó Navegando
O código a seguir navega a árvore nó usando as relações de nó:
Exemplo
x = xmlDoc.getElementsByTagName("book")[0];
xlen = x.childNodes.length;
y = x.firstChild;
txt = "";
for (i = 0; i <xlen; i++)
{
// Process only element nodes (type 1)
if (y.nodeType == 1) {
txt += y.nodeName + "<br>";
}
y = y.nextSibling;
}
Tente você mesmo " Exemplo explicou:
- Suponha que você tenha carregado " books.xml " em xmlDoc
- Obter nós filho do primeiro elemento livro
- Defina o "y" variável para ser o primeiro nó filho do primeiro elemento livro
- Para cada nó filho (starting with the first child node "y") :
- Verifique o tipo de nó. Se o tipo de nó é "1" , é um nodo elemento
- Saída o nome do nó, se for um nó elemento
- Defina o "y" variável a ser o nó irmão seguinte, e executado através do laço novamente