como eu faço pra ler um arquivo xml com ajax de modo que eu possa ler com DOM?
eu tava tentando assim:
<script type="text/javascript">
<!-- Ajax
var http_request = false;
function makeRequest(url) {
http_request = false;
retorno=false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
http_request = new XMLHttpRequest();
if (h
ttp_request.overrideMimeType) {
http_request.overrideMimeType('text/xml');
// See note below about this line
}
} else if (window.ActiveXObject) { // IE
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) {
carregar(1);
return false;
}
http_request.onreadystatechange = function(){
if (http_request.readyState == 4) {
if (http_request.status == 200) {
carregar(http_request.responseText);
} else {
carregar(2);
return false;
}
}
}
http_request.open('GET', url, true);
http_request.send(null);
}
//-->
</script>
<script type="text/javascript">
<!--
function carregar(xml){
var html="";
if(xml===1){
html="<tr><td><div class='erro'>O seu navegador não suporta AJAX, esta página só pode ser acessada por navegadores que suportem este recurso.</div></td></tr>";
document.getElementByID("tabela").innerHTML=html;
return false;
}
if(xml===2){
html="<tr><td><div class='erro'>Ocorreu um erro, por favor tente novamente mais tarde.</div></td></tr>";
document.getElementByID("tabela").innerHTML=html;
return false;
}
else{
alert(xml);
}
}
//-->
</script>
mas vem em string <_<
[EDIT]
Resolvi usando outro objeto :)
<script type="text/javascript">
<!-- XMLDOM
var xml;
function carregar(){
// code for IE
if (window.ActiveXObject){
xml=new ActiveXObject("Microsoft.XMLDOM");
xml.async=false;
xml.load("node.xml");
prepara();
}
// code for Mozilla, Firefox, Opera, etc.
else if (document.implementation && document.implementation.createDocument){
xml=document.implementation.createDocument("","",null);
xml.load("note.xml");
xml.onload=prepara;
}
else{
html="<tr><td><div class='erro'>O seu navegador não suporta XMLDOM, esta página só pode ser acessada por navegadores que suportem este recurso.</div></td></tr>";
document.getElementByID("tabela").innerHTML=html;
return false;
}
}
function prepara(){
var html="";
if(xml.childNodes.length==0){
html="<tr><td><div class='erro'>Ocorreu um erro, por favor tente novamente mais tarde.</div></td></tr>";
document.getElementById("pagina").innerHTML=html;
document.getElementById("menu").innerHTML="<ul><li><b><a>Menu</a></b></li><li><i><a>Indisponível</a></i></li></ul>";
return false;
}
//...
}
//-->
</script>
Pergunta
jose.rob.jr
como eu faço pra ler um arquivo xml com ajax de modo que eu possa ler com DOM?
eu tava tentando assim:
<script type="text/javascript"> <!-- Ajax var http_request = false; function makeRequest(url) { http_request = false; retorno=false; if (window.XMLHttpRequest) { // Mozilla, Safari,... http_request = new XMLHttpRequest(); if (h ttp_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); // See note below about this line } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { carregar(1); return false; } http_request.onreadystatechange = function(){ if (http_request.readyState == 4) { if (http_request.status == 200) { carregar(http_request.responseText); } else { carregar(2); return false; } } } http_request.open('GET', url, true); http_request.send(null); } //--> </script> <script type="text/javascript"> <!-- function carregar(xml){ var html=""; if(xml===1){ html="<tr><td><div class='erro'>O seu navegador não suporta AJAX, esta página só pode ser acessada por navegadores que suportem este recurso.</div></td></tr>"; document.getElementByID("tabela").innerHTML=html; return false; } if(xml===2){ html="<tr><td><div class='erro'>Ocorreu um erro, por favor tente novamente mais tarde.</div></td></tr>"; document.getElementByID("tabela").innerHTML=html; return false; } else{ alert(xml); } } //--> </script>mas vem em string <_< [EDIT] Resolvi usando outro objeto :)<script type="text/javascript"> <!-- XMLDOM var xml; function carregar(){ // code for IE if (window.ActiveXObject){ xml=new ActiveXObject("Microsoft.XMLDOM"); xml.async=false; xml.load("node.xml"); prepara(); } // code for Mozilla, Firefox, Opera, etc. else if (document.implementation && document.implementation.createDocument){ xml=document.implementation.createDocument("","",null); xml.load("note.xml"); xml.onload=prepara; } else{ html="<tr><td><div class='erro'>O seu navegador não suporta XMLDOM, esta página só pode ser acessada por navegadores que suportem este recurso.</div></td></tr>"; document.getElementByID("tabela").innerHTML=html; return false; } } function prepara(){ var html=""; if(xml.childNodes.length==0){ html="<tr><td><div class='erro'>Ocorreu um erro, por favor tente novamente mais tarde.</div></td></tr>"; document.getElementById("pagina").innerHTML=html; document.getElementById("menu").innerHTML="<ul><li><b><a>Menu</a></b></li><li><i><a>Indisponível</a></i></li></ul>"; return false; } //... } //--> </script>Editado por jose.rob.jrLink para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
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.