En esta web encontré un ejemplo muy claro y sencillo:
http://webhole.net/2009/12/16/how-to-read-xml-with-javascript/
Pero me encuentro un problema y no entiendo por que me sucede...
Yo lo que quiero es rellenar un array con elementos del xml, o sea por cada etiqueta "x" cógeme el texto de la etiqueta hija "y" y mételos al array. El problema es que este array esta declarado fuera o sea es global (pq luego debe ser usado por un generador aleatorio que aparece mas adelante en el código) y me encuentro que la función no me añade los elementos al array como si la variable no fuese global o algo así. Dejo el codigo por si se entiende mejor lo que quiero decir:
Código :
//Textos
var posicionesTextos = new Array;
posicionesTextos.push(""); //posicion 0 vacia, comienza a contar de 1
//Rellenar array con ajax / jquery / xml
function parse(document){
$(document).find("iching").each(function(){
var texto = $(this).find('texto').text();
posicionesTextos.push(texto);
});
}
$.ajax({
url: 'iching.xml',
dataType: "xml",
success: parse,
error: function(){alert("Error Ajax XML");}
});
alert(posicionesTextos);
El ultimo alert lo he puesto para comprobar que me este rellenando el array y sucede que me sale solo la posición 0 o sea en blanco, como si la funcion no hubiera rellenado el array.
Lo raro es que si meto el alert debajo de
Código :
posicionesTextos.push(texto);
si me sale como va llenandose el array con los textos tal y como quiero!