Ver Mensaje Individual
  #12 (permalink)  
Antiguo 10/11/2008, 01:47
hook69
 
Fecha de Ingreso: junio-2008
Mensajes: 21
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Guardar variable de XSL... o algo asi

buenas de nuevo.
A ver si me puedes ayudar otra vez jejeje.

Estoy intentado leer el xml generado de tipo

Código:
<HotelAvailabilityListResults size='20'>
  <Hotel>
    <hotelId>229448</hotelId>
    <name>Hotel Las Arenas Balneario Resort</name>
    <address1>C/Eugenia Viñes, 22 -24</address1>
    <address2/>
    <address3/>
    <city>VALENCIA</city>
    <stateProvince/>
    <country>ES</country>
    <postalCode>460011</postalCode>
    <airportCode>VLC</airportCode>
    <lowRate>154.8</lowRate>
    <highRate>172.0</highRate>
    <rateCurrencyCode>EUR</rateCurrencyCode>
    <latitude>39.46568</latitude>
    <longitude>-0.32485</longitude>
    <shortDescription>Abierto en 2005, el fantástico Hotel Las Arenas, luce todo el esplendor de sus 8 kilómetros cuadrados de jardines adyacentes a la playa Las Arenas, a 4 kilómetros de la ciudad de Valencia.</shortDescription>
    <thumbNailUrl>/hotels/thumbs/VLC_BALN-exter-1-thumb.jpg</thumbNailUrl>
    <supplierType>H</supplierType>
    <location>PLAYA DE VALENCIA</location>
    <propertyRating>5.0</propertyRating>
    <propertyType>1</propertyType>
    <marketingLevel>1</marketingLevel>
    <hasMap>true</hasMap>
    <hotelInDestination>true</hotelInDestination>
    <referenceProximityDistance>-1.0</referenceProximityDistance>
    <referenceProximityUnit>MI</referenceProximityUnit>
    <HotelProperty>
      <specialRate>N</specialRate>
      <promoDescription>Descuentos. Ahorra un 10% en esta estancia.</promoDescription>
      <promoType/>
      <promoDetailText/>
      <hrnQuoteKey>108A69014001252082</hrnQuoteKey>
      <currentAllotment>-1</currentAllotment>
      <propertyId>1190502</propertyId>
      <propertyAvailable>true</propertyAvailable>
      <propertyRestricted>false</propertyRestricted>
      <roomDescription>Standard twin/double room</roomDescription>
      <roomTypeCode>52363</roomTypeCode>
      <rateCode>118238</rateCode>
      <RateInfo>
        <displayCurrencyCode>EUR</displayCurrencyCode>
        <DisplayNightlyRates size='2'>
          <displayNightlyRate>172.0</displayNightlyRate>
          <displayNightlyRate>172.0</displayNightlyRate>
        </DisplayNightlyRates>
        <displayRoomRate>365.66</displayRoomRate>
        <chargeableRoomRateTotal>365.66</chargeableRoomRateTotal>
        <chargeableRoomRateTaxesAndFees>21.66</chargeableRoomRateTaxesAndFees>
        <nativeCurrencyCode>EUR</nativeCurrencyCode>
        <NativeNightlyRates size='2'>
          <nativeNightlyRate>172.0</nativeNightlyRate>
          <nativeNightlyRate>172.0</nativeNightlyRate>
...
Pero cuando hago algun tipo de busqueda diferente, me da el error
Código:
Error de Microsoft VBScript en tiempo de ejecución error '800a01a8' 

Se requiere un objeto: 'getElementsByTagName(...)(...)' 

/hotelAvailability.asp, línea 40
Asi que no entiendo porque me lo esta dando si siempre es la misma estructura de XML

Los datos estoy leyendolos con un bucle for porque luego los voy a utilizar para posicionar los hoteles en un mapa.
Lo hago asi
Código:
dim i,j,vec_hotelId(20),vec_name(20),vec_address1(20),vec_city(20),vec_latitude(20),vec_longitude(20),vec_shortDescription(20)
        for i=0 to 20 - 1 step 1
         vec_hotelId(i)=xml.getElementsByName("Hotel/hotelId")(i).firstChild.data
         vec_name(i)=xml.getElementsByTagName("Hotel/name")(i).firstChild.data
         vec_address1(i)=xml.getElementsByTagName("Hotel/address1")(i).firstChild.data
         vec_city(i)=xml.getElementsByTagName("Hotel/city")(i).firstChild.data
         vec_latitude(i)=xml.getElementsByTagName("Hotel/latitude")(i).firstChild.data
         vec_longitude(i)=xml.getElementsByTagName("Hotel/longitude")(i).firstChild.data
         vec_shortDescription(i)=xml.getElementsByTagName("Hotel/shortDescription")(i).firstChild.data   <-- linea 40
        next 
        session("vec_hotelId")=vec_hotelId
        session("vec_name")=vec_name
        session("vec_address1")=vec_address1
        session("vec_city")=vec_city
        session("vec_latitude")=vec_latitude
        session("vec_longitude")=vec_longitude
        session("vec_shortDescription")=vec_shortDescription

Si comento las lineas correspondientes a shortDescription, me da el error en otro sitio.
Decir que todas las lineas que almaceno estan disponibles en la estructura.
Que es lo que estoy haciendo mal??
A ver si podeis ayudarme.

Gracias

Última edición por hook69; 10/11/2008 a las 02:14