Atributos e Métodos XML DOM
- Página anterior Carregamento DOM
- Próxima página Acesso ao nó DOM
Atributos e métodos definem a interface de programação do XML DOM.
Exemplo
O exemplo a seguir usa um arquivo XML books.xml.
Função loadXMLDoc(), localizado no JavaScript externo, usado para carregar um arquivo XML.
Função loadXMLString(), localizado no JavaScript externo, usado para carregar uma string XML.
Interface de Programação
O DOM simula uma série de interfaces de nós para XML. Pode-se acessar os nós usando JavaScript ou outro linguagem de programação. Neste tutorial, usamos JavaScript.
A programação do DOM é definida por um conjunto de atributos e métodos padrão.
AtributosFrequentemente, é usado de acordo com a forma "o que é algo" (por exemplo, o nome do nó é "book").
MétodosUsados frequentemente de acordo com a forma "fazer algo com algo" (por exemplo, deletar o nó "book").
Atributos do XML DOM
Alguns atributos típicos do DOM:
- x.nodeName - Nome do x
- x.nodeValue - Valor do x
- x.parentNode - Nó pai do x
- x.childNodes - Nó filhos do x
- x.attributes - Nó de atributos do x
Notas:Na lista acima, x é um objeto de nó.
Métodos do XML DOM
- x.getElementsByTagName(name) - Obtém todos os elementos com o nome de etiqueta especificado
- x.appendChild(node) - Insere um nó filho no x
- x.removeChild(node) - Remove o nó filho x
Notas:Na lista acima, x é um objeto de nó.
Exemplo
Código JavaScript para obter o texto do elemento <title> de books.xml:
txt=xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue
Após a execução dessa instrução, o valor salvo em txt é "Harry Potter".
Explicação:
- xmlDoc - XML DOM criado pelo analisador
- getElementsByTagName("title")[0] - Primeiro elemento <title>
- childNodes[0] - Primeiro nó filho do elemento <title>
- nodeValue - Valor do nó (texto em si)
No exemplo acima, getElementsByTagName é um método, enquanto childNodes e nodeValue são atributos.
Análise de arquivo XML - Exemplo de navegação entre navegadores
O trecho de código a seguir usa a função loadXMLDoc books.xml Carregar o analisador XML e exibir os dados do primeiro book:
xmlDoc=loadXMLDoc("books.xml"); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
Saída:
Harry Potter J K. Rowling 2005
No exemplo acima, usamos childNodes[0] para cada nó de texto, mesmo que cada elemento tenha apenas um nó de texto. Isso é porque o método getElementsByTagName() sempre retorna um array.
Análise de string XML - Exemplo de navegação entre navegadores
O código a seguir carrega e analisa uma string XML:
O trecho de código a seguir usa a função loadXMLString books.xml Carregar o analisador XML e exibir os dados do primeiro book:
text="<bookstore>" text=text+"<book>"; text=text+"<title>Harry Potter</title>"; text=text+"<author>J K. Rowling</author>"; text=text+"<year>2005</year>"; text=text+"</book>"; text=text+"</bookstore>"; xmlDoc=loadXMLString(text); document.write(xmlDoc.getElementsByTagName("title")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("author")) [0].childNodes[0].nodeValue); document.write("<br />"); document.write(xmlDoc.getElementsByTagName("year")) [0].childNodes[0].nodeValue);
Saída:
Harry Potter J K. Rowling 2005
- Página anterior Carregamento DOM
- Próxima página Acesso ao nó DOM