Hace un tiempo estuve buscando una solución para leer un archivo xml, la idea es leer sus nodos y los atributos con jQuery, por ahí encontre una solución muy sencilla para este proposito.
Existe un problema al tratar de ejecutarlo en IE, tambien encontre una solución para eso.
Primero que nada generaremos el fichero xml.
mi.xml
<?xml version=’1.0′ encoding=’UTF-8′?>
<items>
<item id=”1″ nombre=”Ricardo Gatica”>
<books since=”2005″>PHP Book</books>
<books since=”2005″>MySQL Book</books>
</item>
<item id=”2″ nombre=”Victor San Martin”>
<books since=”2006″>Javascript Book</books>
<books since=”2007″>CakePHP Book</books>
</item>
</items>
Ya tenemos nuestro archivo xml estructurado con dos personas (nosotros), cada uno tiene dos libros, bueno ahora leerlo con jQuery, la version que se utilizo fue la 1.2.6.
$.ajax({
type: 'GET',
url: 'mi.xml',
cache: false,
dataType: ($.browser.msie) ? 'text' : 'xml', // Reconocemos el browser.
success: function(data){
var xml;
if(typeof data == 'string'){
xml = new
ActiveXObject('Microsoft.XMLDOM');
xml.async = false;
xml.loadXML(data);
} else {
xml = data;
}
$(xml).find('item').each(function(){
var id = $(this).attr('id');
var nombre = $(this).attr('nombre');
$(this).find('books').each(function(){
var since = $(this).attr('since');
var libro = $(this).text();
});
});
}
});
Ya con esto tenemos para jugar con las variables declaradas (id, nombre, since, libro).
Pingback: Leer un archivo XML con jQuery | Codigos Utiles
hola,
estaba probando tu código y funciona, pero si cambias la url de una local a una remota deja de funcionar,
alguna idea ?
gracias.
hola, estoy probando el código, fijate que en la segunda etiqueta item, “item” está escrito “iten” y queda como una etiqueta sin par.
saludos.
Gracias, ya corregí el problema
lo probe con mi propio XML y funciona barbaro !!
hasta en IE6 funciona !! jaja
buenisimo!
se agradese !
Hola Juan Pablo, las funciones ajax fueron programadas de tal manera que no se pueda pedir datos de otro dominio que no sea el mismo desde el cual se ha descargado la pagina que contiene el script., espero que se entienda ya que lo que acabo de escribir apenas lo entiendo yo jajajaa… (lo q pasa es q es casi horario de almuerzo jaja)
Tambien tengo la misma consulta de como poder leer un xml de una url remota.
atento a sus comentarios.
Gracias
Buenisimo, es lo que buscaba, muchas gracias!!!
Esperamos sus comentarios,
Saludos