Jul/083
Verificar a existência da tag XML com ASP
Sempre vejo esse tipo de pergunta nos fóruns, para que serve o tal do ".nodeName"????
Tenho aqui uma bela funcionalidade para ele, e bem útil.
Nesse script abaixo, verifico se existe a tag "NOME_TAG" dentro do arquivo teste.xml com auxilio do .nodeName, vejam o script e reparem no simples, que é bonito!!
<%
Set obj_XML = Server.CreateObject("Microsoft.XMLDOM")
Set objLista = Server.CreateObject("Microsoft.XMLDOM")
obj_XML.async = False
obj_XML.Load (Server.MapPath("teste.xml"))
Set objLista = obj_XML.getElementsByTagName("*")
For i = 0 to (objLista.length-1)
If objLista.item(i).nodeName = "NOME_TAG" Then
response.Write(objLista.item(i).text)
End If
Next
%>
Reparem que nessa linha:
Set objLista = obj_XML.getElementsByTagName("*")
usei o "*" para chamar todas as tags para depois com um IF, verificar se a tag "NOME_TAG" realmente existe.
Bem simples e funcional.
Jun/087
Alimentando um campo de texto através de um select
Simples script usando JavaScript, para alimentar um campo "text" através de um campo "select".
Criada uma função alimentarCampo que recebe o valor dos campos do formulário através do metodo "getElementById" com a interação .value
<html>
<head>
<script type="text/javascript">
function alimentarCampo() {
var minhaLista = document.getElementById("minhaLista");
document.getElementById("campoReceber").value = minhaLista.options[minhaLista.selectedIndex].value;
}
</script>
</head>
<body>
<form name="Formulario">
Selecione seu Browser:
<select id="minhaLista" name="campo_selecione" onchange="alimentarCampo();">
<option value="001 Campo do Internet Explorer a Evolução">Internet Explorer</option>
<option value="002 Campo do Firefox a Evolução">Firefox</option>
<option value="003 Campo do Netscape a Evolução">Netscape</option>
<option value="004 Campo do Opera a Evolução">Opera</option>
</select>
<p>Descrição do Browser: <input type="text" id="campoReceber" name="campo" size="50"></p>
</form>
</body>
</html>
Resumo do Código:
Linha:
var minhaLista = document.getElementById("minhaLista");
A variável minhaLista é alimentada através do "ID" do campo "select" que é puxado pelo parâmetro document.getElementById citado acima.
Linha:
document.getElementById("campoReceber").value = minhaLista.options[minhaLista.selectedIndex].value;
No campo do tipo "text" no formulário temos uma "ID" chamada campoReceber que receberá o valor do campo de "select" selecionado pelo usuário através do parâmetro ".options" citado no código acima, pegando assim pelo parâmetro ".value" o valor do campo "option" exposto no "select".
Linha:
<select id="minhaLista" name="campo_selecione" onchange="alimentarCampo();">
E por final chamamos a função criada em JavaScript pelo método "onchange" do formulário.
Dúvidas é só citar!!
Acesse também: Webly
Mar/082
DOM com XML
É um código pronto, todo comentado, simples de entender!!
Arquivo: Banco.xml
<catalog>
<cd>
<titulo>Empire Burlesque</titulo>
<artista>Bob Dylan</artista>
<outro01>USA</outro01>
<ipresa>Columbia</ipresa>
<preco>10.90</preco>
<ano>1985</ano>
</cd>
<cd>
<titulo>Hide your heart</titulo>
<artista>Bonnie Tyler</artista>
<outro01>UK</outro01>
<ipresa>CBS Records</ipresa>
<preco>9.90</preco>
<ano>1988</ano>
</cd>
<cd>
<titulo>Greatest Hits</titulo>
<artista>Dolly Parton</artista>
<outro01>USA</outro01>
<ipresa>RCA</ipresa>
<preco>9.90</preco>
<ano>1982</ano>
</cd>
<cd>
<titulo>Still got the blues</titulo>
<artista>Gary Moore</artista>
<outro01>UK</outro01>
<ipresa>Virgin records</ipresa>
<preco>10.20</preco>
<ano>1990</ano>
</cd>
<cd>
<titulo>Eros</titulo>
<artista>Eros Ramazzotti</artista>
<outro01>EU</outro01>
<ipresa>BMG</ipresa>
<preco>9.90</preco>
<ano>1997</ano>
</cd>
</catalog>
A mágia está toda aqui...
Arquivo: index.html
<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="<b>Artista:</b> "+artista+" <b>Título:</b> "+titulo+" <b>Ano:</b> "+ano;
}
</script>
<p id="show" style="font-family: verdana; font-size: 12px">
<input onClick="voltar()" value="<< Voltar" type="button" />
<input onClick="avancar()" value="Avançar >>" type="button" />


