Os materiais didáticos aqui disponibilizados estão licenciados através de Creative Commons Atribuição-SemDerivações-SemDerivados CC BY-NC-ND. Você possui a permissão para visualizar e compartilhar, desde que atribua os créditos do autor. Não poderá alterá-los e nem utilizá-los para fins comerciais.
Atribuição-SemDerivações-SemDerivados
CC BY-NC-ND
Cursos / Informática para Internet / Desenvolvimento Web II / Aula
nome = livro.attributes.getNamedItem("nome").nodeValue;
O método getNamedItem() retorna um objeto contendo informações do atributo informado, e para acessar o seu valor é necessário utilizar a propriedade nodeValue.
var campoLivro = document.getElementById("livros")
A linha 53 utiliza HTML DOM para recuperar uma referência da lista HTML.
As demais linhas desse método são apenas repetições dos itens já explicados até o momento.
Função carregarLivro:
function carregarLivro(indice){
var livros = xmlDoc.getElementsByTagName("livro");
var livro = livros.item(indice);
var nome="";
var isbn="";
if(livro.hasAttributes()){
nome = livro.attributes.getNamedItem("nome").nodeValue;
document.getElementById("nome").innerHTML = nome;
isbn = livro.attributes.getNamedItem("isbn").nodeValue;
document.getElementById("isbn").innerHTML = isbn;
}
var nosFilhos = livro.childNodes;
for ( var i = 0; i < nosFilhos.length; i++) {
var noFilho = nosFilhos.item(i);
switch (noFilho.nodeName) {
case "editora":
case "edicao":
case "preco":
case "sinopse":
var valor = noFilho.firstChild.nodeValue;
document.getElementById(noFilho.nodeName).innerHTML = valor
break;
case "autores":
var valor = "";
for ( var j = 0; j < noFilho.childNodes.length; j++) {
if(noFilho.childNodes.item(j).nodeName=="autor"){
if( valor != "" ) {
valor+=" | ";
}
valor += noFilho.childNodes.item(j).firstChild.nodeValue;
}
}
document.getElementById(noFilho.nodeName).innerHTML = valor;
default:
break;
}
}
var atributos = document.getElementById("divLivroSelecionado").attributes;
atributos.getNamedItem("style").nodeValue="";
}
Essa função atualiza a tabela contendo os dados do livro selecionado. Ela recebe como parâmetro o índice do nó (tag livro) a ser carregado. As funções do XML DOM introduzidas nesse trecho são:
var nosFilhos = livro.childNodes
O atributo childNodes retorna todos os nós filhos do nó em questão. Como no exemplo do código acima, o nó em questão é do tipo “livro”, então, os nós filhos retornados são: editora, edicao, autores, preco e sinopse.
var valor = noFilho.firstChild.nodeValue;
Quando o nó em questão contém apenas texto (como no caso dos nós editora, edicao, preco, sinopse e autor), para acessar o seu valor, é necessário utilizar os atributos firstChild.nodeValue<, pois o texto contido dentro do nó também é considerado com um nó (do tipo texto).
Versão 5.3 - Todos os Direitos reservados