Foros del Web » Programación para mayores de 30 ;) » Programación General »

Problema con lectura de nodos en flash

Estas en el tema de Problema con lectura de nodos en flash en el foro de Programación General en Foros del Web. hola , el problema que tengo es en obtener los datos del xml, no me toma bien los nodos he probado con varias cosas me ...
  #1 (permalink)  
Antiguo 12/09/2008, 19:33
Avatar de ale80262  
Fecha de Ingreso: junio-2008
Mensajes: 66
Antigüedad: 16 años, 8 meses
Puntos: 0
Problema con lectura de nodos en flash

hola , el problema que tengo es en obtener los datos del xml, no me toma bien los nodos he probado con varias cosas me toma el primero el que le sigue y el ultimo. si alguien pude hecharme una mano. Graacias de antemano

el código es:

//Permite caracteres tradicionales como letras con tilde la ñ, etc.
System.useCodepage = true;

//Se declara la variable indice de tipo número (utilizada para referencia la noticia a mostrar)
var indice:Number;

//Se declara la variable noticias_xml de tipo XML (utilizada para almacenar el documento xml)
var noticias_xml:XML;

/*
Funcion cargarDatos (utilizada para cargar y cambiar las noticias en el documento)
Esta función recibe un parámetro "_indice" que corresponde al elemento noticia a mostrar
*/
this._lockroot = true;
function cargarDatos(_indice:Number){
//Se inicializan variables utilizadas para almenar los datos de una noticia

var titulo:String;
var copete:String;
var mensaje:String;
var imagen:String;

//Recuperando datos del objeto xml
//Se accede al primer hijo de elemento [noticia] y se recupera al valor del primer elemento de [titulo]
titulo = noticias_xml.firstChild.childNodes[_indice].firstChild.firstChild.nodeValue;
copete = noticias_xml.firstChild.childNodes[_indice].firstChild.firstChild.nodeValue;
//Se accede al segundo hijo de elemento [noticia] y se recupera el valor del primer elemento de [mensaje]
mensaje = noticias_xml.firstChild.childNodes[_indice].firstChild.nextSibling.firstChild.nodeValue;

//Se accede al último hijo de elemento [noticia] y se recupera el valor del primer elemento de [imagen]
imagen = noticias_xml.firstChild.childNodes[_indice].lastChild.firstChild.nodeValue;

//Mostrando los datos recuperados en el cuado de texto mensaje_txt y cargando la imagen en pantalla_mc
_root.titulo_txt.htmlText = "<font family='Arial'color='#666666' size='31'> " + titulo + "</font></p>";
_root.copete_txt.htmlText = "<p><font size='14'>" + copete + "</font>";
_root.mensaje_txt.htmlText = "<p><font size='12'>" + mensaje + "</font>";
//Cargado la imagen JPG externa en el clip pantalla_mc con el valor recuperado del objeto xml
_root.pantalla_mc.loadMovie(imagen);
}

//Función que permite avanzar a la [noticia] siguiente almacenada en el objeto xml
siguiente_btn.onPress = function(){
//comprobando si existe el siguiente elemento [noticia]
if(noticias_xml.firstChild.childNodes[indice+1] != null){//retringue a avanzar solo si hay una [noticia] siguiente
indice++; //incrementado en uno el indice
cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
}
}

//Función que permite retroceder a la noticia anterior almacenada en el objeto xml
anterior_btn.onPress = function(){
//comprobando si existe una elemento [noticia] anterior
if(noticias_xml.firstChild.childNodes[indice-1] != null){//retringue a avanzar solo si hay una [noticia] anterior
indice--; //reducciendo en uno el indice
cargarDatos(indice); //recuprando y mostrando los datos y la imagen en la pantalla
}
}

//Inicializaciones
indice=0; //inicializando indice en 0 para mostrar la primera noticia

//creando el objeto noticias_xml de typo XML
noticias_xml = new XML();

//Permite que el objeto XML ignore los espacios en blanco entre marca y marca del documento XML
noticias_xml.ignoreWhite = true;

//El método load() permite cargar el documento xml "noticias.xml"
noticias_xml.load("http://www.productoramacedonia.com.ar/v2/swf/xml/noticias.php");

//El evento onLoad de activa cuado se haya cargado el documento noticias.xml
noticias_xml.onLoad = function(){
//Se llama a la funcion cragarDatos para mostar la primera noticia (esto por la variable indice en 0)
cargarDatos(indice);
}
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:02.