Ir para conteúdo
Fórum Script Brasil
  • 0

XML + DOM


Ted k'

Pergunta

Segue o código todo comentado para facilitar o entendimento da galera!!

BANCO.XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<CATALOG>
    <CD>
        <titulo>Empire Burlesque</titulo>
        <artista>Bob Dylan</artista>
        <outro01>USA</outro01>
        <empresa>Columbia</empresa>
        <preço>10.90</preço>
        <ano>1985</ano>
    </CD>
    <CD>
        <titulo>Hide your heart</titulo>
        <artista>Bonnie Tyler</artista>
        <outro01>UK</outro01>
        <empresa>CBS Records</empresa>
        <preço>9.90</preço>
        <ano>1988</ano>
    </CD>
    <CD>
        <titulo>Greatest Hits</titulo>
        <artista>Dolly Parton</artista>
        <outro01>USA</outro01>
        <empresa>RCA</empresa>
        <preço>9.90</preço>
        <ano>1982</ano>
    </CD>
    <CD>
        <titulo>Still got the blues</titulo>
        <artista>Gary Moore</artista>
        <outro01>UK</outro01>
        <empresa>Virgin records</empresa>
        <preço>10.20</preço>
        <ano>1990</ano>
    </CD>
    <CD>
        <titulo>Eros</titulo>
        <artista>Eros Ramazzotti</artista>
        <outro01>EU</outro01>
        <empresa>BMG</empresa>
        <preço>9.90</preço>
        <ano>1997</ano>
    </CD>

    <CD>
        <titulo>One night only</titulo>
        <artista>Bee Gees</artista>
        <outro01>UK</outro01>
        <empresa>Polydor</empresa>
        <preço>10.90</preço>
        <ano>1998</ano>
    </CD>
    <CD>
        <titulo>Sylvias Mother</titulo>
        <artista>Dr.Hook</artista>
        <outro01>UK</outro01>
        <empresa>CBS</empresa>
        <preço>8.10</preço>
        <ano>1973</ano>
    </CD>
    <CD>
        <titulo>Maggie May</titulo>
        <artista>Rod Stewart</artista>
        <outro01>UK</outro01>
        <empresa>Pickwick</empresa>
        <preço>8.50</preço>
        <ano>1990</ano>
    </CD>
    <CD>
        <titulo>Romanza</titulo>
        <artista>Andrea Bocelli</artista>
        <outro01>EU</outro01>
        <empresa>Polydor</empresa>
        <preço>10.80</preço>
        <ano>1996</ano>
    </CD>
    <CD>
        <titulo>When a man loves a woman</titulo>
        <artista>Percy Sledge</artista>
        <outro01>USA</outro01>
        <empresa>Atlantic</empresa>
        <preço>8.70</preço>
        <ano>1987</ano>
    </CD>
    <CD>
        <titulo>Black angel</titulo>
        <artista>Savage Rose</artista>
        <outro01>EU</outro01>
        <empresa>Mega</empresa>
        <preço>10.90</preço>
        <ano>1995</ano>
    </CD>
    <CD>
        <titulo>1999 Grammy Nominees</titulo>
        <artista>Many</artista>
        <outro01>USA</outro01>
        <empresa>Grammy</empresa>
        <preço>10.20</preço>
        <ano>1999</ano>
    </CD>
    <CD>
        <titulo>For the good times</titulo>
        <artista>Kenny Rogers</artista>
        <outro01>UK</outro01>
        <empresa>Mucik Master</empresa>
        <preço>8.70</preço>
        <ano>1995</ano>
    </CD>
    <CD>
        <titulo>Big Willie style</titulo>
        <artista>Will Smith</artista>
        <outro01>USA</outro01>
        <empresa>Columbia</empresa>
        <preço>9.90</preço>
        <ano>1997</ano>
    </CD>
    <CD>
        <titulo>Tupelo Honey</titulo>
        <artista>Van Morrison</artista>
        <outro01>UK</outro01>
        <empresa>Polydor</empresa>
        <preço>8.20</preço>
        <ano>1971</ano>
    </CD>

    <CD>
        <titulo>Soulsville</titulo>
        <artista>Jorn Hoel</artista>
        <outro01>Norway</outro01>
        <empresa>WEA</empresa>
        <preço>7.90</preço>
        <ano>1996</ano>
    </CD>
    <CD>
        <titulo>The very best of</titulo>
        <artista>Cat Stevens</artista>
        <outro01>UK</outro01>
        <empresa>Island</empresa>
        <preço>8.90</preço>
        <ano>1990</ano>
    </CD>
    <CD>
        <titulo>Stop</titulo>
        <artista>Sam Brown</artista>
        <outro01>UK</outro01>
        <empresa>A and M</empresa>
        <preço>8.90</preço>
        <ano>1988</ano>
    </CD>
    <CD>
        <titulo>Bridge of Spies</titulo>
        <artista>T'Pau</artista>
        <outro01>UK</outro01>
        <empresa>Siren</empresa>
        <preço>7.90</preço>
        <ano>1987</ano>
    </CD>
    <CD>
        <titulo>Private Dancer</titulo>
        <artista>Tina Turner</artista>
        <outro01>UK</outro01>
        <empresa>Capitol</empresa>
        <preço>8.90</preço>
        <ano>1983</ano>
    </CD>
    <CD>
        <titulo>The dock of the bay</titulo>
        <artista>Otis Redding</artista>
        <outro01>USA</outro01>
        <empresa>Atlantic</empresa>
        <preço>7.90</preço>
        <ano>1987</ano>
    </CD>
    <CD>
        <titulo>Picture book</titulo>
        <artista>Simply Red</artista>
        <outro01>EU</outro01>
        <empresa>Elektra</empresa>
        <preço>7.20</preço>
        <ano>1985</ano>
    </CD>
    <CD>
        <titulo>Red</titulo>
        <artista>The Communards</artista>
        <outro01>UK</outro01>
        <empresa>London</empresa>
        <preço>7.80</preço>
        <ano>1987</ano>
    </CD>
    <CD>
        <titulo>Unchain my heart</titulo>
        <artista>Joe Cocker</artista>
        <outro01>USA</outro01>
        <empresa>EMI</empresa>
        <preço>8.20</preço>
        <ano>1987</ano>
    </CD>
</CATALOG>
Agora a mágica do DOM TESTE.HTML
<html>
<head>

<script type="text/javascript">
    var xmlDoc;
    
        // Verificando o IE
        if (window.ActiveXObject) {
            xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
        }
        // Verificando o Mozilla, Firefox, Opera, etc.
            else if (document.implementation.createDocument) {
            xmlDoc=document.implementation.createDocument("","",null);
        }
            else {
            alert('Seu site não suporta essa plataforma'); // Caso não tenha suporte a plataforma
        }

        xmlDoc.async = false;
        xmlDoc.load("Banco.xml"); // Carrega o arquivo XML
    
    var x = xmlDoc.getElementsByTagName("CD"); // Carregando a pag principal
        i = 0;
        
        // Função para avançar os valores
        function avancar() {
            if (i < x.length) {
                i++;
                display();
            }
        }
        
        // Função para voltar os valores
        function voltar() {
            if (i>0) {
                i--;
                display();
            }
        }
    
    // Função que carrega quando o site é exibido
    function display() {
        var artista, titulo, ano;
        // Dando valor para as variáveis
        artista = (x[i].getElementsByTagName("artista")[0].childNodes[0].nodeValue);
        titulo = (x[i].getElementsByTagName("titulo")[0].childNodes[0].nodeValue);
        ano = (x[i].getElementsByTagName("ano")[0].childNodes[0].nodeValue);
        
        // Caregando o HTML dentro da div Show
        document.getElementById("show").innerHTML="<strong>Artista:</strong> "+artista+"<br> <strong>Título:</strong> "+titulo+"<br> <strong>Ano:</strong> "+ano;
    }
</script>
</head>

<body onload="display()">
<div id="show" style="font-family:verdana; font-size:12px;">
</div>
<br>
<input type="button" onclick="voltar()" value="<< Voltar">
<input type="button" onclick="avancar()" value="Avançar >>">

</body>
</html>

E não tem nem mais....

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...