Foros del Web » Creando para Internet » Flash y Actionscript »

pequeño problema con XML y Flash

Estas en el tema de pequeño problema con XML y Flash en el foro de Flash y Actionscript en Foros del Web. Hola comunidad!!! Estoy haciendo algo en flash para lo cual necesito cargar ciertos textos desde un archivo xml, el cual dice asi: <?xml version="1.0" encoding="iso-8859-1"?> ...
  #1 (permalink)  
Antiguo 07/09/2005, 09:13
Avatar de drake1983  
Fecha de Ingreso: febrero-2005
Ubicación: Cuba
Mensajes: 125
Antigüedad: 12 años, 9 meses
Puntos: 0
Exclamación pequeño problema con XML y Flash

Hola comunidad!!!
Estoy haciendo algo en flash para lo cual necesito cargar ciertos textos desde un archivo xml, el cual dice asi:

<?xml version="1.0" encoding="iso-8859-1"?>
<correo>
<mensaje>
<asunto>Aviso de Suspensión</asunto>
<texto>Por este medio se le informa que se le suspenderá el servicio inmediatamente</texto>
</mensaje>
<mensaje>
<asunto>Saludos</asunto>
<texto>Bienvenido a este nuevo mundo integrando flash y XML</texto>
</mensaje>
</correo>

en flash tengo dos cuadros de texto, uno llamado asunto_txt ( donde se cargara el asunto) y el otro se llama cuerpo_txt ( donde se cargara el cuerpo del mensaje, o sea lo que está en la etiqueta <texto>), sin embargo cuando cargo el xml que saco los datos solo se mellena el primer campo de texto, el segundo dice undefined.

El codigo de mi flash es el sgte:
// codigo para lo demas: XML, y llenar los cuadros de textos
var miXML:XML = new XML(); //creo variable xml
miXML.ignoreWhite = true; //ignorar espacios en blanco
miXML.onLoad = function(exito:Boolean)
{ if(exito)
{asunto_txt.text = miXML.firstChild.childNodes[0].firstChild.childNodes[0].nodeValue;
cuerpo_txt.text = miXML.firstChild.childNodes[0].firstChild.childNodes[1].nodeValue;}
else
{ asunto_txt.text = "ERROR... ERROR... ERROR...";
cuerpo_txt.text = "Ha ocurrido algun problema cargando el archivo XML"; }
}

onEnterFrame()
{ System.useCodepage=true;
miXML.load("mail.xml");
}
__________________
Nada que perder...
  #2 (permalink)  
Antiguo 07/09/2005, 12:09
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hola drake1983:
Prueba colocando éstos códigos en el archivo mail.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<correo>
<asunto>Aviso de Suspensión</asunto>
<texto>Por este medio se le informa que se le suspenderá el servicio
inmediatamente</texto>
<asunto>Saludos</asunto>
<texto>Bienvenido a este nuevo mundo integrando flash y XML</texto>
</correo>
Tienes que crear 4 campos de texto dinámico con las variables: asunto1, cuerpo2, asunto3 y cuerpo4.
En el primer frame éste código:
System.useCodePage=true;
function cargaXML() {
primerNivel = this.firstChild;
mensaje = primerNivel.childNodes;
n1 = mensaje[0].firstChild;
n2 = mensaje[1].firstChild;
n3 = mensaje[2].firstChild;
n4 = mensaje[3].firstChild;
asunto1 = n1.nodeValue;
cuerpo2 = n2.nodeValue;
asunto3 = n3.nodeValue;
cuerpo4 = n4.nodeValue;
limpiaXML();
}
function limpiaXML() {
delete primerNivel;
delete noticias;
delete n1;
delete n2;
delete n3;
delete n4;
delete docXML;
}
var docXML = new XML();
docXML.ignoreWhite = true;
docXML.onLoad = cargaXML;
docXML.load("mail1.xml");

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 07/09/2005, 13:37
Avatar de heberto  
Fecha de Ingreso: septiembre-2004
Ubicación: Morelia, Michoacán
Mensajes: 104
Antigüedad: 13 años, 3 meses
Puntos: 0
cuerpo_txt.text = miXML.firstChild.childNodes[1].firstChild.childNodes[0].nodeValue;

Prueba cambiando el indice al nodo, saludos
__________________
Atte.

Ing. Julio Heberto Gonzalez Morales
Certified Macromedia Flash MX Designer
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 11:09.