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

Problemas con ParseXML en Flash

Estas en el tema de Problemas con ParseXML en Flash en el foro de Flash y Actionscript en Foros del Web. Hola tengo un problemita con lo siguiente, al meter para dentro del Flash un XML: Estoy trabajando con el componente Tree y cuando tengo el ...
  #1 (permalink)  
Antiguo 06/10/2005, 08:23
 
Fecha de Ingreso: mayo-2005
Mensajes: 4
Antigüedad: 18 años, 10 meses
Puntos: 0
Pregunta Problemas con ParseXML en Flash

Hola tengo un problemita con lo siguiente, al meter para dentro del Flash un XML:
Estoy trabajando con el componente Tree y cuando tengo el XML externo me pincha ok, pero cuando lo meto dentro mediante el ParseXML da un pequeño bateo en la parte visual, sale algo como [type function] donde debe salir el arbol, cuando le doy a esto se despliega el arbol bien pero tiene este defectico que quisiera me corrigieran.....
Aqui 1ro esta el codigo con el defecto (XML interno) y despues esta el que pincha ok con el (XML externo)

Saludos de antemano....
Juan Carlos...

function abreSeccion (nodo:XMLNode, label:String):Void
{
for (var Nodo = nodo.childNodes[0]; Nodo != null; Nodo = Nodo.nextSibling)
{
if (Nodo.attributes.name == label)
{
textarea.text = Nodo.firstChild;
break;
}
if (Nodo.childNodes.length > 0)
{
abreSeccion (Nodo, label);
}
}
}
// --------------------------------------
var arbolChange:Object = new Object ();
arbolChange.change = function (evObj)
{
var arbol = evObj.target;
var nodoSeleccionado:XMLNode = arbol.selectedNode;
// si es carpeta tansolo la abrimos
// si no es carpeta, mostramos la seccion correspondiente a su etiqueta
if (arbol.getIsBranch (nodoSeleccionado))
{
arbol.setIsOpen (nodoSeleccionado, !arbol.getIsOpen (nodoSeleccionado), true);
arbol.selectedNode = null;
}
else
{
abreSeccion (secciones.firstChild, nodoSeleccionado.attributes.label);
}
};
tree.addEventListener ("change", arbolChange);

var secciones:XML = new XML ();
var arbol:XML = new XML ();

secciones.ignoreWhite = true;
arbol.ignoreWhite = true;

secciones.parseXML('<tree><colores><color name="Rojo">Texto para el color Rojo</color><color name="Verde">Texto para el color Verde</color><color name="Azul">Texto para el color Azul</color><color name="Amarillo">Texto para el color Amarillo</color><color name="Negro">Texto para el color Negro</color></colores></tree>');
arbol.parseXML('<XMLDocumentObject><node label="Colores" isBranch="true"><node label="Rojo"/><node label = "Verde" /><node label = "Azul" /><node label = "Amarillo" /><node label = "Negro" /></node></XMLDocumentObject>');

tree.dataProvider = this.firstChild;
tree.dataProvider = arbol;

stop();

/////////////////////////////////////////////////////////////////////////////////////
Ahora el bueno con el XML externo.....

function abreSeccion (nodo:XMLNode, label:String):Void
{
for (var Nodo = nodo.childNodes[0]; Nodo != null; Nodo = Nodo.nextSibling)
{
if (Nodo.attributes.name == label)
{
textarea.text = Nodo.firstChild;
break;
}
if (Nodo.childNodes.length > 0)
{
abreSeccion (Nodo, label);
}
}
}
// --------------------------------------
var arbolChange:Object = new Object ();
arbolChange.change = function (evObj)
{
var arbol = evObj.target;
var nodoSeleccionado:XMLNode = arbol.selectedNode;
// si es carpeta tansolo la abrimos
// si no es carpeta, mostramos la seccion correspondiente a su etiqueta
if (arbol.getIsBranch (nodoSeleccionado))
{
arbol.setIsOpen (nodoSeleccionado, !arbol.getIsOpen (nodoSeleccionado), true);
arbol.selectedNode = null;
}
else
{
abreSeccion (secciones.firstChild, nodoSeleccionado.attributes.label);
}
};
tree.addEventListener ("change", arbolChange);
// --------------------------------------
// cargamos los XMLs
// --------------------------------------
var arbol:XML = new XML ();
arbol.ignoreWhite = true;
arbol.onLoad = function ()
{
tree.dataProvider = this.firstChild;
};
// cargamos secciones
var secciones:XML = new XML ();
secciones.ignoreWhite = true;
secciones.onLoad = function ()
{
// cargamos árbol
arbol.load ("xmls/arbol.xml");
};
secciones.load ("xmls/secciones.xml");
// precarga
tree.dataProvider = "<node label='cargando XMLs...' />";

stop();
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 19:44.