Quero saber se é possível ou não fazer uma procurar por determinado “nó” XML, utilizando campo de texto.
#Html
<input type="text" value="" id="campo"/>
<input type="button" value="Procurar" onclick="TagXML();"/>
#Script
TagXML = function() {
// Os navegadores carregam um arquivo xml de formas diferentes
if(window.XMLHttpRequest){
// Para o Firefox, Opera, e demais iremos usar o XMLHttpRequest (o mesmo que se usa em ajax)
// codigo para IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// O IE usa ActiveX
// codigo para o IE6, IE5
xmlhttp = new ActiveXObject("Msxml2.DOMDocument.3.0");
}
// Carrega e armazena o XML na variavel xml
xmlhttp.open("GET", "dados.xml", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML.documentElement;
// Executa uma consulta XML e armazena em busca
var busca = document.getElementById('campo').value;
// Armazena na var registro o conteudo de uma tag "nome"
var registro = xmlDoc.getElementsByTagName('nome');
// Laço dentro da tag "nome" para cada tag "nome" que encontrar
for (var i = 0; i < registro.length; i++){
// Verificando se houve alguma busca com sucesso
if (registro[i].firstChild.textContent == busca){
// Exibindo os resultados encontrados
alert('existe sim'); break;
} else {
alert('não existe'); break;
}
}
}
#XML
<?xml version = "1.0" encoding="ISO-8859-1" ?>
<doc>
<clientes>
<nome>Maria Adriana</nome>
<telefone>([telefone removido]</telefone>
<idade>2</idade>
</clientes>
<clientes>
<nome>Giovana Pereira</nome>
<telefone>([telefone removido]</telefone>
<idade>25</idade>
</clientes>
<clientes>
<nome>Ricardo Ramos</nome>
<telefone>([telefone removido]</telefone>
<idade>26</idade>
</clientes>
</doc>
w3schools - Demonstração
#ScreenShot

Emitindo o evento alert() indicando resultado existe(sim/não).
Como dito no título do tópico eu preciso verificar se existe um determinado nó no meu XML.
Para isso precisamos ler o XML percorrendo e fazer a seleção de acordo com os parâmetros de cada índice [i] da tag “nome”.
Infelizmente não estou conseguindo exerga a maneira de resolver isso.

