Tengo una duda para la extracción de información de un XML.
Estoy utilizando XML::Simple y me ha funcionado muy bien, pero ahora tengo una estructura un poco más compleja, creo que es un array dentro de un hash :
Using xml Syntax Highlighting
<xml>
- <Accommodation>
- <Hotel>
<Name>Azul Beach</Name>
<Hcode>HOT0000503</Hcode>
<Type>Resort</Type>
<Rating>5</Rating>
<MitSiteCode />
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
- <Room>
<Hucode>HOT0000503000003</Hucode>
<RoomType>Azul Suite</RoomType>
<MaxOccupancy>4</MaxOccupancy>
</Room>
+ <Room>
<Hucode>HOT0000503000002</Hucode>
<RoomType>Deluxe Room</RoomType>
<MaxOccupancy>4</MaxOccupancy>
</Room>
+ <Room>
<Hucode>HOT0000503000001</Hucode>
<RoomType>Superior Room</RoomType>
<MaxOccupancy>3</MaxOccupancy>
</Room>
</Hotel>
- <Accommodation>
- <Hotel>
<Name>Azul Beach</Name>
<Hcode>HOT0000503</Hcode>
<Type>Resort</Type>
<Rating>5</Rating>
<MitSiteCode />
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
+ <Descriptions>
- <Room>
<Hucode>HOT0000503000003</Hucode>
<RoomType>Azul Suite</RoomType>
<MaxOccupancy>4</MaxOccupancy>
</Room>
+ <Room>
<Hucode>HOT0000503000002</Hucode>
<RoomType>Deluxe Room</RoomType>
<MaxOccupancy>4</MaxOccupancy>
</Room>
+ <Room>
<Hucode>HOT0000503000001</Hucode>
<RoomType>Superior Room</RoomType>
<MaxOccupancy>3</MaxOccupancy>
</Room>
</Hotel>
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Necesito obtener la información que viene en los campos Hucode, RoomType y MaxOccupancy.
Después de recibir el XML, hago esto
Using perl Syntax Highlighting
for( @{$respuesta->{Accommodation}->{Hotel}} ) {
$hotel_code = $_->{Hcode};
$room_code = $_->{Room}->{Hucode};
$room_type = $_->{Room}->{RoomType};
print "$hotel_code | $room_code | $room_type \n";
}
$hotel_code = $_->{Hcode};
$room_code = $_->{Room}->{Hucode};
$room_type = $_->{Room}->{RoomType};
print "$hotel_code | $room_code | $room_type \n";
}
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Pero estoy recibiendo este mensaje de error:
- Código: Seleccionar todo
Bad index while coercing array into hash
Me pueden dar un "tip" para evitar este error.
Muchas gracias,
Caribesoft