Comunidad de diseño web y desarrollo en internet online

Problema mx.xpath

Citar            
MensajeEscrito el 03 Sep 2004 03:25 pm
Tengo este codigo en un .fla y me pincha bien

Código :

var miXML:XML = new XML();
miXML.ignoreWhite = true;

miXML.onLoad = function(exito){
   if (exito){
      //trace("Se cargo");      
      cant = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Texto").length;
      var i:Number;
      for (i =0;i<cant;i++){
         
         var idTarea:Number;
         idTarea = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/idTarea")[i].firstChild;         
         if (idTarea.toString() == "1"){
              Texto =   mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Texto")[i].firstChild;
            estado = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Estado")[i].firstChild;
            espacio = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/ListaEspacios")[i].firstChild;
            orden = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Orden")[i].firstChild;
             id_palabra = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/idPalabra")[i].firstChild;
         trace("idTarea:"+idTarea +" IdPalabra: "+id_palabra+" Orden: "+orden+" texto: " +Texto+ " Estado: "+estado + " Espacio: "+espacio);
         }
      
      }                                     
   }else{
      trace("No se pudo cargar");
   }
}
miXML.load("Frase.xml");


Ahora, utilizo el mismo camino mx.xpath.XPathAPI.selectNodeList detro de una clase pero me dice que mx no es metodo de la clase o algo asi, el problema es que no encuentra eso.
Pot favor si alguien sabe como resolver el problema???

Por Alucard

54 de clabLevel



Genero:Masculino  

Universidad

unknown
Citar            
MensajeEscrito el 03 Sep 2004 05:43 pm
Al principio de la clase ponle, antes de declararla

Código :

import mx.xpath.*;
class ....

asi debe funcionar

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 03 Sep 2004 06:35 pm
Lo puse donde me dijistes

Código :


import Palabras
import mx.xpath.* 

//Clase controladora...
class Clases.Frase{
    //   atributos
   private var cantPalabras:Number;
   private var cant:Number;
   private var xmlURL:String;
   private var Palabras:Array;
   private var idFrase:String;
   private var miXML;
   //Contructor
   public function Frase(xmlURL:String, idFrase:String){
      
      this.idFrase = new String();
      this.xmlURL = xmlURL;
      this.idFrase = idFrase;
      this.miXML = new XML();
      cantPalabras = 0;
   }
   
   private function cargar(existe){
      if (existe){
         cantPalabras = new Number();
         var idTarea;
         var Texto;
         var estado;
         var orden;
         var id_palabra;   
         var espacio;
         
         cant = mx.xpath.XPathAPI.selectNodes(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Texto").length;
         var i:Number;
         for (i=0;i<cant;i++){
            idTarea = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/idTarea")[i].firstChild;         
            if (idTarea.toString() == this.idFrase){
                 Texto =   mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Texto")[i].firstChild;
               estado = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Estado")[i].firstChild;
               espacio = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/ListaEspacios")[i].firstChild;
               orden = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Orden")[i].firstChild;
                id_palabra = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/idPalabra")[i].firstChild;            
               //Creamos un objeto palabra
               //var miPalabra:Palabras = new Palabras();
               //cantPalabras++;
            }
         }
         var miPalabra:Palabras;
         miPalabra.textoIn = Texto;
         miPalabra.ordenIn = orden;
         miPalabra.estadoIn = estado;
         miPalabra.espacioIn = espacio;
         Palabras[0] = miPalabra;
      }else{
         trace("El XML no existe");
      }
   }
   
   private function Bind(){
      this.miXML.load(this.xmlURL);
      this.miXML.onLoad = cargar();
   }
   
   //Palabras que estan puesta en la frase;
   public function get PalabrasPuestas():Array{
      var TempPalabras:Array = new Array();
      var i:Number;
      var estado:Number;
      var c:Number = 0;
      for (i = 0;i<cantPalabras;i++){
         estado = Palabras[i].estadoOut;
         if (estado.toString() == "1"){
            TempPalabras[c] = Palabras[i];
            c++;
         }
      }
      return TempPalabras;
   }
   
   //Palabras de las que se debera escoger
   public function get PalabrasFueras():Array{
      var TempPalabras:Array = new Array();
      var i:Number;
      var estado:Number;
      var c:Number = 0;
      for (i = 0;i<cantPalabras;i++){
         estado = Palabras[i].estadoOut;
         if (estado.toString() != "1"){
            TempPalabras[c] = Palabras[i];
            c++;
         }
      }
      return TempPalabras;
   }
   
   //Lista de la posicion de los espacios en blanco
   public function get listaEspacios():Array{
      var espacios:Array = new Array();
      var i:Number;
      var estado:Number;      
      var c:Number = 0;
      for (i = 0;i<cantPalabras;i++){
         estado = Palabras[i].estadoOut;
         if (estado.toString() == "0"){
            espacios[c] = Palabras[i].ordenOut;            
            c++;
         }
      }
      return espacios;
   }   
}




y me sigue dando el error.


**Error** E:\Desarrollo\Clases\Frase.as: Línea 32: No hay ningún método que lleve por nombre 'mx'.
cant = mx.xpath.XPathAPI.selectNodes(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Texto").length;

**Error** E:\Desarrollo\Clases\Frase.as: Línea 35: No hay ningún método que lleve por nombre 'mx'.
idTarea = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/idTarea")[i].firstChild;

**Error** E:\Desarrollo\Clases\Frase.as: Línea 37: No hay ningún método que lleve por nombre 'mx'.
Texto = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Texto")[i].firstChild;

**Error** E:\Desarrollo\Clases\Frase.as: Línea 38: No hay ningún método que lleve por nombre 'mx'.
estado = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Estado")[i].firstChild;

**Error** E:\Desarrollo\Clases\Frase.as: Línea 39: No hay ningún método que lleve por nombre 'mx'.
espacio = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/ListaEspacios")[i].firstChild;

**Error** E:\Desarrollo\Clases\Frase.as: Línea 40: No hay ningún método que lleve por nombre 'mx'.
orden = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/Orden")[i].firstChild;

**Error** E:\Desarrollo\Clases\Frase.as: Línea 41: No hay ningún método que lleve por nombre 'mx'.
id_palabra = mx.xpath.XPathAPI.selectNodeList(this.firstChild,"/dataroot/Tarea/Tarea5_Palabra/idPalabra")[i].firstChild;

Total de errores de ActionScript: 7 Errores comunicados: 7

Por Alucard

54 de clabLevel



Genero:Masculino  

Universidad

unknown
Citar            
MensajeEscrito el 03 Sep 2004 07:40 pm
Ahora quitale en todas partes donde dice mx.xpath. y te debe funcionar

Por Freddie

BOFH

53 tutoriales
597 articulos
43 ejemplos

Genero:Masculino   Admin

Conserje de Cristalab

unknown
Citar            
MensajeEscrito el 09 Mar 2006 01:44 pm
Mira esto::
http://download.macromedia.com/pub/documentation/en/flash/fl8/XpathAPI.pdf




-------------------------------------------------------------------------------------------------------------------
Clase XPathAPI
Nombre de clase de ActionScript mx.xpath.XPathAPI

La clase XPathAPI permite realizar búsquedas XPath sencillas en Macromedia Flash. Puede resultar muy útil para buscar paquetes XML basados en nombres de nodo y valores de atributo. Dicho de otro modo, puede buscar rápidamente nodos y atributos en un documento XML mediante los métodos de XpathAPI.

Para utilizar las búsquedas XPath en Flash, primero debe incluir la clase XPathAPI en la biblioteca de Flash; para ello deberá añadir DataBindingClass (si no se ha añadido ya). Si ya ha configurado las vinculaciones, es posible que esta clase se haya incluido automáticamente. Si no es así, deberá seleccionar la clase en las bibliotecas comunes (Ventana > Bibliotecas comunes > Clases). En el panel de la biblioteca Classes.fla, simplemente arrastre una copia del componente DataBindingClasses en la biblioteca del documento de Flash actual. Después de esto podrá importar la clase si escribe import mx.xpath.XPathAPI o si utiliza el nombre completo de las clases cuando acceda a estos métodos, añadiendo el prefijo mx.xpath.XPathAPI.method_name a los métodos de la clase.

Para más información sobre esta clase, consulte el Centro de recursos de documentación de Flash en www.macromedia.com/go/xpathapi.

Por eladio

26 de clabLevel



Genero:Masculino  

msie
Citar            
MensajeEscrito el 09 Mar 2006 01:44 pm
Mira esto::
http://download.macromedia.com/pub/documentation/en/flash/fl8/XpathAPI.pdf




-------------------------------------------------------------------------------------------------------------------
Clase XPathAPI
Nombre de clase de ActionScript mx.xpath.XPathAPI

La clase XPathAPI permite realizar búsquedas XPath sencillas en Macromedia Flash. Puede resultar muy útil para buscar paquetes XML basados en nombres de nodo y valores de atributo. Dicho de otro modo, puede buscar rápidamente nodos y atributos en un documento XML mediante los métodos de XpathAPI.

Para utilizar las búsquedas XPath en Flash, primero debe incluir la clase XPathAPI en la biblioteca de Flash; para ello deberá añadir DataBindingClass (si no se ha añadido ya). Si ya ha configurado las vinculaciones, es posible que esta clase se haya incluido automáticamente. Si no es así, deberá seleccionar la clase en las bibliotecas comunes (Ventana > Bibliotecas comunes > Clases). En el panel de la biblioteca Classes.fla, simplemente arrastre una copia del componente DataBindingClasses en la biblioteca del documento de Flash actual. Después de esto podrá importar la clase si escribe import mx.xpath.XPathAPI o si utiliza el nombre completo de las clases cuando acceda a estos métodos, añadiendo el prefijo mx.xpath.XPathAPI.method_name a los métodos de la clase.

Para más información sobre esta clase, consulte el Centro de recursos de documentación de Flash en www.macromedia.com/go/xpathapi.

Por eladio

26 de clabLevel



Genero:Masculino  

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.