Foros del Web » Programando para Internet » Javascript »

Necesito consejo para crear un objeto

Estas en el tema de Necesito consejo para crear un objeto en el foro de Javascript en Foros del Web. Hola a todos, Tengo que parsear un XML con una lista de aeropuertos del mundo en la que vienen los aeropuertos uno por uno con ...
  #1 (permalink)  
Antiguo 31/10/2009, 06:35
 
Fecha de Ingreso: agosto-2006
Mensajes: 19
Antigüedad: 17 años, 8 meses
Puntos: 0
Necesito consejo para crear un objeto

Hola a todos,

Tengo que parsear un XML con una lista de aeropuertos del mundo en la que vienen los aeropuertos uno por uno con los siguientes datos:

- Código del Aeropuerto
- Nombre del Aeropuerto
- Codigo de la Región
- Nombre de la Región
- Pais del Aeropuerto/Región
- Horario

Bien teniendo esos datos quiero crear un objeto en javascript de la siguiente forma:

Un vector que contenga una lista de todos los paises, que a su vez cada uno de estos paises tenga colgando un vector con sus regiones y que a su vez cada una de estas regiones tenga colgando un vector con sus aeropuertos.

A mi se me a ocurrido una forma pero la veo demasiado enrevesada a ver si a vosotros se os ocurre algo mejor.

Gracias de antemano por la ayuda.
  #2 (permalink)  
Antiguo 31/10/2009, 09:50
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Necesito consejo para crear un objeto

¿Recibes los datos vía AJAX?, ¿no puedes recibirlos como JSON en lugar de XML? Eso facilitaría mucho las cosas. ¡Suerte!
  #3 (permalink)  
Antiguo 02/11/2009, 12:30
 
Fecha de Ingreso: agosto-2006
Mensajes: 19
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Necesito consejo para crear un objeto

Pues no es imposible que lo reciba en JSON pues el sistema de respuesta y de peticiones es de una empresa distinta a la mia solo puedo trabajar con XML.

Tengo pensada la siguiente estructura para el objeto:

var aeropuerto = function(codigo,nombre,horario) {
this.codigo = codigo;
this.nombre = nombre;
this.horario = horario;
}

var region = function(nombre) {
this.nombre = nombre;
this.aeropuertos = new Array();
this.addAeropuerto = function(codigoAero,nombreAero,horarioAero) { this.aeropuertos[this.aeropuertos.length] = new aeropuerto(codigoAero,nombreAero,horarioAero); }
}

var pais = function(nombre) {
this.nombre = nombre;
this.regiones = new Array();
this.addRegion = function(nombreRegion) { this.regiones[this.regiones.length] = new region(nombreRegion); }
}

Sería correcta para lo que necesito hacer o habría una forma más sencilla de hacerlo.

Gracias de antemano.
  #4 (permalink)  
Antiguo 02/11/2009, 13:08
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años
Puntos: 1485
Respuesta: Necesito consejo para crear un objeto

de momento tengo una duda pero antes aclarar que aunque tengo el conocimiento, hablando tecnicamente, de como funciona el XML, hacer la peticion, y demas cosas. pero en terminos practico pues no tengo mucha experiencia, o sea, como lo usaria y por qué decidiria sobre una forma u otra. la razon por la que lo menciono es porque puede que vaya a errar en algo.

ahora bien, la duda es, ¿que te impide trabajarlo directamente desde el documento XML? o sea, lo que quiero decir es tomar el propio documento como si fuera tus objetos. claro, que hacerlo de este modo cambia la tecnica de obtener los datos. ahora no estarias trabajando directamente sobre objetos de javascript sino sobre objetos tipo elementos.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 03/11/2009, 08:07
 
Fecha de Ingreso: agosto-2006
Mensajes: 19
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Necesito consejo para crear un objeto

Tengo que introducir todos los datos del XML a un objeto en javascript porque resulta que yo tengo que mostrar 2 cosas:

1. Una lista desplegable que surja a medida que el usuario escribe letras en la caja origen y en destino de forma que aparezcan los 10 primeros aeropuertos que empiecen por esas letras.

2. Una emergente con 3 listas dependientes: Listado de paises, otra con el listado de regiones del país seleccionado y otra con el listado de aeropuertos de la región seleccionada.

Hacer esto trabajando directamente con el XML sería inviable (en este caso) pues no viene con esa jerarquía sino cada aeropuerto por separado y como dato de ese aeropuerto, el país y la región.

Además la petición de ese XML la hago mediante una página en ASP llamada por AJAX mediante JQuery, entonces la respuesta la tengo en el callback de JQuery.
También tendría la posibilidad de crear una clase en ASP con el objeto, pero luego no se como tendría que devolverlo para que javascript lo usase pues los cambios tienen que ser dinámicos, no me vale recargar la página.
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 08:49.